今天修复了一个接口调用不通的BUG,代码贴上来供后来者参考`Object result = null;
Service service = null;
Call call = null;
try {
service = new Service();
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(“地址”));
call.setOperationName(new QName(“命名空间”, “方法名称”));// WSDL里面描述的操作名称
call.addParameter(“json”,org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);// 操作的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型
call.setUseSOAPAction(true);
// 给方法传递参数,并且调用方法
result = (String) call.invoke(params);
} catch (Exception e) {
e.printStackTrace();
}
return result;`
- 注意入参和返回参数
- 注意要是axis调用cxf的接口,接口参数要配置@WebParam(name=”jsonTime”)
- 命名空间对应起来definitions –> targetNamespace