axis2开发webservice总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axis2开发webservice总结相关的知识,希望对你有一定的参考价值。
需求环境:对接方公司提供wsdl文件,我方按照该wsdl文件开发服务端。
- 配置axis2开发环境,网上教程很多,不再啰嗦。环境搭好后执行wsdl2java -uri file:///C:/Users/lenovo/Desktop/ws/jc/UtcsService.wsdl -s -ss -ap -sd -ssi -d adb -o build\\server1
命令行格式为:wsdl2java [options] -uri <url or path> : A url or path to a WSDL
其中常用的options具体如下:
-o <path> | 指定生成代码的输出路径 |
-a | 生成异步模式的代码 |
-s | 生成同步模式的代码 |
-p <pkg> | 指定代码的package名称 |
-l <languange> | 使用的语言(Java/C) 默认是java |
-t | 为代码生成测试用例 |
-ss | 生成服务端代码默认不生成 |
-sd | 生成服务描述文件 services.xml,仅与-ss一同使用 |
-d <databinding> | 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri |
-g | 生成服务端和客户端的代码 |
-pn <port_name> | 当WSDL中有多个port时,指定其中一个port |
-sn <serv_name> | 选择WSDL中的一个service |
-u | 展开data-binding的类 |
-r <path> | 为代码生成指定一个repository |
-ssi | 为服务端实现代码生成接口类 |
-S | 为生成的源码指定存储路径 |
-R | 为生成的resources指定存储路径 |
--noBuildXML | 输出中不生成build.xml文件 |
--noWSDL | 在resources目录中不生成WSDL文件 |
--noMessageReceiver | 不生成MessageReceiver类 |
-o <path> | 为生成的代码指定一个保存路径.Specify a directory path for the generated code. | ||||||||||||
-a | 生成异步代码 (默认关闭).Generate async style code only (Default: off) | ||||||||||||
-s | 生成同步代码 (默认关闭). 优先权高于选项 -a. Generate sync style code only (Default: off). Takes precedence over -a. | ||||||||||||
-p <pkg1> | 为生成的代码指定一个包名称.Specify a custom package name for the generated code. | ||||||||||||
-l <language> | 生成的代码的语言类型,目前只支持java和c (默认java) .Valid languages are java and c (Default: java). | ||||||||||||
-t | 为生产的代码产生测试代码.Generate a test case for the generated code. | ||||||||||||
-ss | 生成服务端代码 (i.e. skeletons) (默认关闭.Generate server side code (i.e. skeletons) (Default: off). | ||||||||||||
-sd | 生成服务端descriptor (i.e. services.xml). (默认关闭). 当使用 -ss选项的时候才有效.Generate service descriptor (i.e. services.xml). (Default: off). Valid with -ss. | ||||||||||||
-d <databinding> | 数据绑定模式,可选 adb, xmlbeans, jibx 和 jaxbri (默认adb).Valid databinding(s) are adb, xmlbeans, jibx and jaxbri (Default: adb). | ||||||||||||
-g | 生成所有类,与-ss使用时有效.Generates all the classes. Valid only with -ss. | ||||||||||||
-pn <port_name> | 当wsdl描述中式多个端口时指定一个端口Choose a specific port when there are multiple ports in the wsdl. | ||||||||||||
-sn <service_name> | 当wsdl是多服务的情况下指定一个服务名称Choose a specific service when there are multiple services in the wsdl. | ||||||||||||
-u | 打包数据绑定类 Unpacks the databinding classes | ||||||||||||
-r <path> | 产生一个生成的代码的清单Specify a repository against which code is generated. | ||||||||||||
-ns2p ns1=pkg1,ns2=pkg2 | 为wsdl里的每个schema 指定一个namespace,Specify a custom package name for each namespace specified in the wsdls schema. | ||||||||||||
-ssi | 为每个服务的实现生成一个接口(默认关闭)Generate an interface for the service implementation (Default: off). | ||||||||||||
-wv <version> | WSDL版本 可选 : 2, 2.0, 1.1 ,WSDL Version. Valid Options : 2, 2.0, 1.1 | ||||||||||||
-S <path> | 为生成的源文件指定目录Specify a directory path for generated source | ||||||||||||
-R <path> | 为生成的资源指定目录Specify a directory path for generated resources | ||||||||||||
-em <file path> | 指定外部的映射文件Specify an external mapping file | ||||||||||||
-f | Flattens the generated files | ||||||||||||
-uw | Switch on un-wrapping. | ||||||||||||
-xsdconfig <file path> | Use XMLBeans .xsdconfig file. Valid only with -d xmlbeans. | ||||||||||||
-ap | 为所有端口生成代码Generate code for all ports | ||||||||||||
-or | 覆盖已经存在的类Overwrite the existing classes | ||||||||||||
-b | 生成兼容axis1 的代码Generate Axis 1.x backward compatible code. | ||||||||||||
-sp | 不生成命名空间前缀(可减少包大小)Suppress namespace prefixes (Optimzation that reduces size of soap request/response) | ||||||||||||
-E<key> <value> | Extra configuration options specific to certain databindings. Examples: | ||||||||||||
|
|||||||||||||
--noBuildXML | Dont generate the build.xml in the output directory | ||||||||||||
--noWSDL | Dont generate WSDLs in the resources directory | ||||||||||||
--noMessageReceiver | Dont generate a MessageReceiver in the generated sources | ||||||||||||
--http-proxy-host <host> | Proxy host address if you are behind a firewall | ||||||||||||
--http-proxy-port <port> | Proxy port address if you are behind a firewall | ||||||||||||
-ep <package-name-list> | Exclude packages - these packages are deleted after code generation | ||||||||||||
-sin <interface-name> | Skeleton interface name - used to specify a name for skeleton interface other than the default one | ||||||||||||
-scn <class-name> | Skeleton class name - used to specify a name for skeleton class other than the default one | ||||||||||||
-EbindingFileName <path> | (for jaxbri) - specify the file path for the episode file | ||||||||||||
-oaa <override-absolute-address> | -change the absolute http addresses to local file addresses generated by wsdl2java tool | ||||||||||||
-ebc <exception-base-class> | -generated Exceptions are inherited from this exception rather than the java.lang.Exception class | ||||||||||||
-uon <use-operation-name> | -by default the first letter of the generated method name changeed to lowercase. This option stops that and make it same as operation name |
主要是记录java代码打包发布到tomcat里,利用wsdl2java生成的src文件和resource文件,打包就是将resource文件里的service.xml放进src文件夹下,新建的META-INF文件下,然后将src文件打成jar包或arr包,放进D:\\app\\apache-tomcat-8.5.3\\webapps\\axis2\\WEB-INF\\services文件夹下
这个就是打成的jar包
以上是关于axis2开发webservice总结的主要内容,如果未能解决你的问题,请参考以下文章
基于Myeclipse+Axis2的WebService开发实录