代码示例
public static String axis2NetWebService(String nameSpace, String methodName, String[] fieldName, String[] fieldValue) {
String soapBindingAddress = "http://192.168.235.128/nsc/WebService1.asmx?wsdl";
try {
ServiceClient sender = new ServiceClient();
EndpointReference endpointReference = new EndpointReference(soapBindingAddress);
Options options = new Options();
options.setAction(nameSpace + methodName);
options.setTo(endpointReference);
sender.setOptions(options);
OMFactory fac = OMAbstractFactory.getOMFactory();
//这个和qname差不多,设置命名空间
OMNamespace omNs = fac.createOMNamespace(nameSpace, methodName);
OMElement data = fac.createOMElement(methodName, omNs);
for (int i = 0; i < fieldName.length; i++) {
OMElement inner = fac.createOMElement(fieldName[i], omNs);
inner.setText(fieldValue[i]);
data.addChild(inner);
}
// 发送数据,返回结果
OMElement result = sender.sendReceive(data);
return result.toString();
} catch (AxisFault ex) {
ex.printStackTrace();
}
return null;
}
说明
参数 | 说明 | 示例 |
---|
nameSpace | 命名空间 | http://tempuri.org/ |
methodName | 方法名 | CreateCaiGouOrder |
fieldName | 参数名 | {“sxml”} |
fieldValue | 参数值 | {“<data></data>”} |
参考
关于axis2的RPCServiceClient客户端无法传参问题的解决方案