1、利用HTTP+POST发送基于SOAP协议的XML,总是报错 Transport level information does not match with SOAP Message namespace URI。
2、区分SOAP的版本和命名空间:
SOAP 1.1 http://schemas.xmlsoap.org/soap/envelope/
SOAP 1.2 : http://www.w3.org/2003/05/soap-envelope
举例:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://server.webservice.xxx.xxx.com">
<soap:Header/>
<soap:Body>
<ser:acceptWeixinSendMsg>
<!--Optional:-->
<ser:data></ser:data>
</ser:acceptWeixinSendMsg>
</soap:Body>
</soap:Envelope>
该SOAP请求报文的SOAP版本为SOAP 1.2。
解决办法:
1、SOAP 1.2 uses "application/soap+xml" as Content-Type
and SOAP 1.1 uses "text/xml".SOAP 1.2 does not use SOAPAction header line. SOAP 1.2 uses "http://www.w3.org/2003/05/soap-envelope" as the envolope namespace and SOAP 1.1 uses "http://schemas.xmlsoap.org/soap/envelope/".
2、HTTP+POST发送基于SOAP协议的请求XML时,HTTP请求头的ContentType应当设置为:application/soap+xml。