Axis2提供了一个wsdl2java.bat命令可以根据WSDL文件自动产生调用WebService的代码。 wsdl2java.bat命令可以在<Axis2安装目录>/bin目录中找到。
在使用wsdl2java.bat命令之前需要设置AXIS2_HOME环境变量,该变量值是<Axis2安装目录>。在Windows控制台输出如下的命令行来生成调用WebService的代码:%AXIS2_HOME%\bin\wsdl2java -uri [wsdl] -p client -s -o stub
例如:%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/Hikvision/services/myWebservice?wsdl -p client -s -o stub
在执行完上面的命令后,就会发现在当前目录(即<Axis2安装目录>/bin目录下)下多了个stub目录, 在stub/src/client目录可以找到一个xxxStub.java文件,该文件复杂调用WebService,可以在程序中直接使用这个类。
调用方法:
1.在新建的Java工程中导入刚才生成的stub目录下的client包拷贝到工程的src目录下,并在lib目录下导入axis里需要的jar包(不然会报错)。
2.程序中调用方法
package com.hcj.webservice;
import client.MyWebserviceStub;
import client.MyWebserviceStub.GetAllUserResponse;
public class Test {
public static void main(String[] args) throws Exception {
//创建生成的stub类
MyWebserviceStub stub = new MyWebserviceStub();
//创建对应的方法类(这里我的webservice里有个getAllUser的方法,具体的看你自己webservice里定义了何种方法)
GetAllUserResponse allUser = stub.getAllUser();
//获取方法类的结果集
String get_return = allUser.get_return();
//打印输出结果
System.out.println(get_return);
}
}