您的位置:首页 > 编程语言 > Java开发

小记wsdl2java

2013-10-21 15:01 337 查看
缘由要实现协同工作,在不同的平台交换数据,是以有一个wsdl文件需要转换成java类文件,以下有两种方式进行转换:(命令行方式)

一、CXF wsdl2java

配置环境变量 CXF-HOME  为“D:/czd/work/java/lib/apache-cxf-2.7.7”

增加  path  “%CXF-HOME %bin” 后,

在cmd下运行

D:/>cd test

D:/test>cd 0828

D:/test/0828>wsdl2java -frontend jaxws21 -p com.czd.eas WFService.wsdl

即可。完成代码的生成。覆盖掉原来的代码即可。

Demo:

C:\apache-cxf-2.7.7\bin>wsdl2java -frontend jaxws21 -p com.czd.eas WFService.wsdl (文件拷到apache-cxf-2.7.7\bin目录下)

命令如图:



包结构:



二、AXIS wsdl2java

下载一个axis,假设2-1.5版本,解压

运行cmd,进入axis的bin目录,执行如下命令:

axis2-1.5\bin >wsdl2java.bat -uri D:\wsdl.xml -o D:\output -p com.bd.zd

-uri:wsdl文件

-o:Java文件输出路径

-p:生成的Java文件包名

Demo:D:\Users\test5>cdD:\Users\test5\Desktop\czd\axis2-1.6.2\bin D:\Users\test5\Desktop\czd\axis2-1.6.2\bin>wsdl2java.bat-uri D:\Users\test5\Desktop\czd\WFService.wsdl-o D:\output -p com.czd.eas

UsingAXIS2_HOME:  D:\Users\test5\Desktop\czd\axis2-1.6.2

UsingJAVA_HOME:   D:\GLDEV\java\jdk1.7.0_40

Retrievingdocument at 'D:\Users\test\Desktop\czd\WFService.wsdl'.

log4j:WARNNo appenders could be found for logger (org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder).

log4j:WARNPlease initialize the log4j system properly.

命令如图:



包结构:



提问环节:(转)

Q1、java使用cxf和axis转换wsdl文件后,两种方式产生的类,结构、数量是不是相同的,会不会出现axis转换后生成a.java  b.java,使用cxf转换生成a.java  b.java  c.java 。

A1、不会的,因为web service是基于soap协议的,所有不管使用那种都是一样的。

Q2、java中:使用axis转换wsdl地址生成的java代码就两个java文件和一个build.xml文件。调用有点不同而已。那使用cxf转换后,是不是和axis转换的类相同,里面的内容不同  是肯定的。

A2、cxf是通过一个配置一个xml文件来生成,你想要配置他如何生成就如何生成java类,但是生成的类还是和通过cxf生成不一样的。axis生成的java类只有两个,有一个类如果你的连接地址很大那么它会很大很大,我曾经做过一个连接地址生成几十万行代码一打开myeclipse就几乎崩溃。所以我都不去理会它。不过生成之后也是真的不用理他。你只管调用。

 

       最后的最后,当然还可以用myeclipse工具生成,在这里就不一一赘述了。

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cxf axis wsdl java