网上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!
本文介绍了一种不使用wsimport工具自动生成客户端代码的方法,而是通过Java反射原理直接调用WebService接口。代码示例展示了如何创建Service实例,设置目标地址、操作名称、参数及返回类型,最终实现接口调用。
2万+

被折叠的 条评论
为什么被折叠?



