У меня есть клиент, который пытается использовать наш .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
Как только я уберуПрефикс пространства имен, запрос работает нормально.Я не очень знаком с этой системой, но постараюсь предоставить любую необходимую информацию.
Заранее благодарю за любую помощь, которая может быть оказана!