网上java调用webservice接口都是采用 “wsimport命令工具自动生成客户端代码”,然后进行本地操作
在这儿我们采用反射原理来直接调用webservice接口
代码如下:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
try{
// 直接引用远程的wsdl文件
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress("http://***********?wsdl");
call.setOperationName("接口方法名");// WSDL里面描述的接口名称
call.addParameter("user", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数
String user = "张三";
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型
String result = (String) call.invoke(new Object[] { user });
// 给方法传递参数,并且调用方法
System.out.println("result is " + result);
} catch (Exception e) {
e.printStackTrace();
}
ok!