SOAP信封中的命名空间前缀导致解析错误:“服务器无法读取请求”

时间:2012-01-17 19:37:36

标签: java .net soap

我有一个客户试图在他们的Java环境中使用我们的.Net WebService。他们使用'javax.xml.soap。*',它需要一个名称空间前缀。这些相同的名称空间前缀会导致我们最终解析异常。

  

SoapServerMessage.Exception:“服务器无法读取请求。”

我们正在使用'System.Web.Services.WebService'

以下是他们试图通过的请求:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
  <ct:CredentialsSoapHeader xmlns:ct="http://ourwebsite.com/webservices/"
                            xsi:type="WebServiceKeyCredentials">
    <Key>demoKey</Key>
    <Password>demoPassword</Password>
  </ct:CredentialsSoapHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
  <ct1:GetUserID xmlns:ct1="http://ourwebsite.com/webservices/">
      <EmailAddress>example@somewebsite.com</EmailAddress>
  </ct1:GetUserID>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

生成的回复:

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Type: text/xml; charset=utf-8
ETag: ""
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 17 Jan 2012 19:28:20 GMT
Content-Length: 0

一旦我删除了名称空间前缀,请求就可以了。我对这个系统不是很熟悉,但我会尝试根据需要提供任何信息。

提前感谢您提供任何帮助!

0 个答案:

没有答案