一、利用Axis2工具的WSDL2Java命令自动生成JAVA代码,进入cmd命令行模式,运行命令WSDL2Java
1.生成服务端代码命令
WSDL2Java -uri wsdl文件全路径 -p 包名 -d xmlbeans -s -ss -sd -ssi -o 生成的java代码存放路径
2.生成客户端包代码命令
WSDL2Java -uri wsdl文件全路径 -p 包名 -d xmlbeans -s -o 生成的java代码存放路径
WSDL2Java命令参数说明:
-uri指定*.wsdl文件,可以带具体路径;
-p指定生成代码的包名
-dxmlbeans使用不同的数据绑定方法,默认adb;
adb:最简单的生成Axis客户端的方法。大部分情况下,这些主要的类都会以内部类的形式创建在stub类中。It is not meant to be a full schema binding application, and has difficulty with structures such as XML Schema element extensions and restrictions。 be meant to:有意要、打算
xmlbeans : 与adb不同,他是一个全功能的schema编译器。他没有ADB的限制。然而,他也比ADB用起来更复杂。他会产成大量的文件,编程模型不如adb直观。
JiBX:他是一个数据绑定框架。他不仅提供了WSDL-JAVA的转换,而且提供了JAVA-XML的转换。JiBX相当灵活,允许你选择类来代表你的实体,但是这个却不好做,但还句话说,如果这些都能建好,那么使用JiBX就更使用ADB一样容易。
对于简单应用来说adb已经够用了,如果想用更加强大更加灵活的功能,那么你可能需要使用其他两种方式。
-o指定生成代码放置的路径;
-ss表示要生成服务端代码;
-ssi表示要生成代码中,先生成接口类,再生成实现类;
-----------------------------------------------------------------------------------------------------------
命令行格式为:WSDL2Java [options] -uri : A url or path to a WSDL
其中常用的options具体如下:
-o : 指定生成代码的输出路径
-a : 生成异步模式的代码
-s : 生成同步模式的代码
-p : 指定代码的package名称
-l : 使用的语言(Java/C) 默认是java
-t : 为代码生成测试用例
-ss : 生成服务端代码 默认不生成
-sd : 生成服务描述文件 services.xml,仅与-ss一同使用
-d : 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g : 生成服务端和客户端的代码
-pn : 当WSDL中有多个port时,指定其中一个port
-sn : 选择WSDL中的一个service
-u : 展开data-binding的类
-r : 为代码生成指定一个repository
-ssi : 为服务端实现代码生成接口类
-S : 为生成的源码指定存储路径
-R : 为生成的resources指定存储路径
--noBuildXML : 输出中不生成build.xml文件
--noWSDL : 在resources目录中不生成WSDL文件
--noMessageReceiver : 不生成MessageReceiver类
--------------------------------------------------------------------------------------------------------------------
示例:
wsdl2java.bat -uri http://10.1.1.160/xfire/ElearningService?wsdl -d xmlbeans -p client -s -o "c:/"