public void mobileFrom(){
try {
String url = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(url));
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/getMobileCodeInfo");
call.setOperationName(new QName("http://WebXml.com.cn/","getMobileCodeInfo"));// WSDL里面描述的接口名称
call.addParameter(new QName("http://WebXml.com.cn/","mobileCode"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName("http://WebXml.com.cn/","userID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型
String result = (String)call.invoke(new Object[]{"15150695326",""});
System.out.println(result);
}catch (Exception e) {
e.printStackTrace();
}
try {
String url = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(url));
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/getMobileCodeInfo");
call.setOperationName(new QName("http://WebXml.com.cn/","getMobileCodeInfo"));// WSDL里面描述的接口名称
call.addParameter(new QName("http://WebXml.com.cn/","mobileCode"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName("http://WebXml.com.cn/","userID"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型
String result = (String)call.invoke(new Object[]{"15150695326",""});
System.out.println(result);
}catch (Exception e) {
e.printStackTrace();
}
}
注意点:
注意一:服务器未能识别 HTTP 头 SOAPAction 的值: 。
加上
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://WebXml.com.cn/getMobileCodeInfo");
注意二:无法传入参数
call.addParameter(new QName("http://WebXml.com.cn/","mobileCode"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
写成QName形式