Префиксы пространства имен в конверте SOAP вызывают ошибку синтаксического анализа: «Серверу не удалось прочитать запрос» - PullRequest
2 голосов
/ 17 января 2012

У меня есть клиент, который пытается использовать наш .Net WebService в своей среде Java.Они используют «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

Как только я уберуПрефикс пространства имен, запрос работает нормально.Я не очень знаком с этой системой, но постараюсь предоставить любую необходимую информацию.

Заранее благодарю за любую помощь, которая может быть оказана!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...