1、下载axis1.4的包。(为了防止后面报一个mail异常,还需要在自己去下载两个jar包(activation-1.1.1.jar,mail-1.4.5.jar)放入lib目录中。
2、生成java client代码
set Axis_Lib=F:\axis\axis-1_4\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=F:\axis
set Package=com.test.client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% F:\axis\newwsdl
(axis2 使用F:\axis2-1.6.2\bin\WSDL2Java -uri SoapService_6Nov2012.txt -s -p client 生成即可)
参数详细解释:
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类
jar 包使用情况查看:http://blog.csdn.net/elevenaa/article/details/7711751
3、client code使用(1.4)
SoapServiceSoapBindingStub stub;
try {
stub = new SoapServiceSoapBindingStub();
SoapService_Service service = new SoapService_ServiceLocator();
try {
stub =(SoapServiceSoapBindingStub) service.getSoapService();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Response response = stub.query(request);