axis和axis2的一些发布差异(WSDL2Java)

1,cmd到wsdl存放的当前目录:

 JBuilder2006的axis是1.2.1版本:

java -Djava.ext.dirs=D:/JBuilder2006/thirdparty/ws-axis/lib org.apache.axis.wsdl.WSDL
2Java -t -B -v -D -s -pWebService.EMAS  -c WebService.EMAS. DataImportServer DataImportServer.wsdl

java -Djava.ext.dirs=D:/JBuilder2006/thirdparty/ws-axis/lib org.apache.axis.wsdl.WSDL2Java -t -B -v -D -s -p WebService.EMAS  DataImportServer.wsdl
 生成服务端和客服端有完整的部署文件deploy.wsdd
java -Djava.ext.dirs=D:/JBuilder2006/thirdparty/ws-axis/lib org.apache.axis.client.AdminClient -lhttp://localhost:7001/irmsWS/servlet/AxisServlet/ deploy.wsdd

利用deploy.wsdd可以生成server-config.xml,完成的服务部署文件,建议书使用此方式。

java -Djava.ext.dirs=D:/JBuilder2006/thirdparty/ws-axis/lib org.apache.axis.wsdl.WSDL2Java 
 EOMSService.wsdl

生成客户端

 java -Djava.ext.dirs=D:/JBuilder2006/thirdparty/ws-axis/lib org.apache.axis.wsdl.WSDL2Java http://10.168.65.35:7001/NewWebService/services/InterSwitchOmmWebService?wsdl

生成客户端

java -Djava.ext.dirs=D:/tools/axis2-1.4.1/lib org.apache.axis2.wsdl.WSDL2Java  -uri EOMSService.wsdl
 生成客户端
java -Djava.ext.dirs=D:/tools/axis2-1.4.1/lib org.apache.axis2.wsdl.WSDL2Java  -uri DataImportServer.wsdl -o test -ss -sd -g -p foo.clent  生成客户端和服务端,加服务部署文件services.xml

2.axis2还有几种使用方式,我还需理解和尝试:

Axis2是常用的一种SOAP engine,但是它提供的wsdl2java的命令行工具的说明比较简单。

从最简单的开始 ,-uri 指定wsdl文件
> WSDL2Java -uri currencyConvert.wsdl

-d 使用不同的data binding方法
> WSDL2Java -uri currencyConvert.wsdl -d xmlbeans

-a 生成异步的方法
> WSDL2Java -uri currencyConvert.wsdl -a

-t 生成测试case
> WSDL2Java -uri currencyConvert.wsdl -t ...

稍微复杂一些的,-p可以指定生成的package,-o指定生成的路径,-ss生成服务端代码
wsdl2java -uri ../wsdl/currencyConvert.wsdl -o ../gen_src  -ss -sd -g -p foo.bat

再复杂一些,-ns2p 将namespace进行替换,多个中间用逗号隔开
wsdl2java -uri ../wsdl/currencyConvert.wsdl -o ../wsdl/gen_src  -ss -sd -g -p com.foo.bar -ns2p "http://www.xxx.yyy.com/zzz/v1.0"=com.foo.bar,"http://www.xxx.yyy.com/ddd/v1.1"=com.foo.bar.goo

wsdl2java 用于根据WSDL生成相应的服务端和客户端代码的生成工具。
命令行格式为: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类   

你可能感兴趣的:(java,SOAP,Path,JBuilder,resources,binding)