代码如下:public static SOAPMessage getSupportCity(String arg) throws IOException{
MessageFactory fac=null;
SOAPMessage reqMsg=null;
try {
fac=MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
reqMsg=fac.createMessage(); //SOAPMessage
reqMsg.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "UTF-8");
reqMsg.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
SOAPEnvelope env=reqMsg.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance");
env.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema");
//System.out.println(reqMsg.getSOAPPart().getContentId()+reqMsg.getSOAPPart().getContentLocation());
MimeHeaders mHers=reqMsg.getMimeHeaders();
mHers.setHeader("SOAPAction", "http://WebXml.com.cn/getSupportCity");
/*String[] headers = mHers.getHeader("SOAPAction");
for(String h:headers){
System.out.println(h);
}*/
SOAPBody body=reqMsg.getSOAPBody();
SOAPElement qqCheckOnline=body.addChildElement("getSupportProvince","","http://WebXml.com.cn/");
SOAPElement qqCode=qqCheckOnline.addChildElement("byProvinceName");
qqCode.addTextNode(arg);
SOAPConnectionFactory conFac=SOAPConnectionFactory.newInstance();
SOAPConnection con=conFac.createConnection();
reqMsg.writeTo(System.out);
SOAPMessage reply=con.call(reqMsg, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
System.out.println();
reply.writeTo(System.out);
NodeList l=(NodeList)reply.getSOAPBody().getChildNodes();
Node result=(Node)l.item(0);
System.out.println("\n"+result.getTextContent());
} catch (SOAPException e) {
e.printStackTrace();
}
return reqMsg;
}
错误信息:soap:Server服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
MessageFactory fac=null;
SOAPMessage reqMsg=null;
try {
fac=MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
reqMsg=fac.createMessage(); //SOAPMessage
reqMsg.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "UTF-8");
reqMsg.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
SOAPEnvelope env=reqMsg.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance");
env.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema");
//System.out.println(reqMsg.getSOAPPart().getContentId()+reqMsg.getSOAPPart().getContentLocation());
MimeHeaders mHers=reqMsg.getMimeHeaders();
mHers.setHeader("SOAPAction", "http://WebXml.com.cn/getSupportCity");
/*String[] headers = mHers.getHeader("SOAPAction");
for(String h:headers){
System.out.println(h);
}*/
SOAPBody body=reqMsg.getSOAPBody();
SOAPElement qqCheckOnline=body.addChildElement("getSupportProvince","","http://WebXml.com.cn/");
SOAPElement qqCode=qqCheckOnline.addChildElement("byProvinceName");
qqCode.addTextNode(arg);
SOAPConnectionFactory conFac=SOAPConnectionFactory.newInstance();
SOAPConnection con=conFac.createConnection();
reqMsg.writeTo(System.out);
SOAPMessage reply=con.call(reqMsg, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
System.out.println();
reply.writeTo(System.out);
NodeList l=(NodeList)reply.getSOAPBody().getChildNodes();
Node result=(Node)l.item(0);
System.out.println("\n"+result.getTextContent());
} catch (SOAPException e) {
e.printStackTrace();
}
return reqMsg;
}
错误信息:soap:Server服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货