使用axis1.4生成webservice的客户端代码

时间:2021-06-24 23:09:26

最近发现了一个很好用的工具,可以根据WSDL文件来生成webservice客户端代码,省去了我们自己手动开发webservice客户端的麻烦,简单好用,用法如下:

1、下载axis1.4,解压;
2、在axis-1_4目录下新建wsdl2java-client.bat(.bat批处理文件,可任意命名)文件,增加内容如下:

set Axis_Lib=.\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -p com.lmb.client.ws C:\Users\Administrator\Desktop\axis-1_4\axis-1_4\lmbtest.xml
pause

注意:其中com.lmb.client.ws为生成的客户端代码的包路径,C:\Users\Administrator\Desktop\axis-1_4\axis-1_4\lmbtest.xml为wsdl文件。

3、双击wsdl2java-client.bat:
使用axis1.4生成webservice的客户端代码
可以看到相关路径下生成的客户端代码如下:
使用axis1.4生成webservice的客户端代码

4、调用方法如下:

public class WebServiceClientTest{
public static void main(String[] args){
String wsdl = "http://xxx.xxx.xx.xx:8082/csp/services/c_lttb/orderToHeLiWebservice";
String requestStr = "";

// 有些webservice需要登录,登陆后才能进行一些操作,这个需要设置如下两个参数:
//1、 超时时间
stub.setTimeout(1000 * 60 * 20);
//2、 次数设置true,登录后才能保持登录状态,否则第二次调用ws方法时仍然会提示未登录。
stub.setMaintainSession(true);

org.apache.axis.client.Service service = new org.apache.axis.client.Service();
OrderToHeLiWebserviceHttpBindingStub stub = new OrderToHeLiWebserviceHttpBindingStub(
new java.net.URL(wsdl), service);
String response = stub.urgeWorkOrderServiceSheet(requestStr); //调用ws提供的方法
System.out.println("response >>> " + response);
}
}

在Eclipse中使用Axis2插件生成Web Service服务端/客户端