webservice(cxf+axis)两种框架生成客户端代码

CXF

方法一

1.解压apache-cxf-2.2.5

2.打开命令行,进入D:\aaa\webservices\cxf\apache-cxf-2.2.5\bin下(cd  \d d:\aaa\webservices\cxf\apache-cxf-2.2.5\bin)

3.输入命令 wsdl2java -p com.test ////////wsdl地址/////////

方法二

1.在bin目录下新建wsdltojava.bat

set CXF_Servlet= http://demo.1hai.cn/service/EhiService.svc?wsdl
wsdl2java -p com.aa %CXF_Servlet%

注:wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

 

AXIS

1.解压axis 1.4

2.新建 wsdltojava.bat

set Axis_Lib=D:\aaa\webservices\axis\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% 
set Axis_Servlet= http://demo.1hai.cn/service/EhiService.svc?wsdl
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -u %Axis_Servlet% -p com.aa

3.双击执行

 

总结:cxf的wsdl2java工具生成客户端代码,生成的所有自定义的dto类的成员变量,都被映射成 JAXBElement<T>的类型了,用起来很麻烦,axis生成的映射,就像服务端那样的POJO,直接就可以操作java的类型不用在 JAXBElement之间再做转换。


你可能感兴趣的:(webservice(cxf+axis)两种框架生成客户端代码)