org.apache.axis.client.Call 调用服务端

webService 调用服务端

// 需要导入的axis.jar包,
org.apache.axis.client.Service service = new Service();

//生成客户端
  org.apache.axis.client.Call call = (Call)service.createCall();

//设置服务地址,指明远程调用的类, 设置url
 call.setTargetEndpointAddress(new URL(url字符串));

//设置是否使用SoapAction
call .setUseSOAPAction(true);

//设置SoapAction路径一般我发布服务类的的全路径名倒叙加上发布的方法
 call.setSOAPActionURI(targetNamespace+method);

//设置远程调用类中的方法
 call.setOperationName(targetNamespace  ,method);

//设置请求参数(根据服务端需要的参数设置例如需要一个参数名为Name的String类型)IN为输入 out 为输出 INOUT为输入输出
call.addParameter(new QName(targetNamespace, "Name"), 
org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);

//设置返回数据类型(SOAP_VECTOR为数组具体类型自行百度)
call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_VECTOR);
//调用webService获得返回的数据 转入一个Object[]数组,数组的元素就是转入参数的值
Object invoke = createCall.invoke(new Object[]{
          
   "harry"});
经验分享 程序员 微信小程序 职场和发展