У меня есть некоторый существующий код, который использует сторонний клиент SOAP для извлечения данных из другого стороннего веб-сервиса. Когда мы переключились на нового поставщика данных, мы также переключились на их новую конечную точку. Мы обнаружили, что все наши текущие запросы терпят неудачу, и в ответ мы получаем ошибку «Ложная политика».
Я использовал SOAP UI для тестирования нового веб-сервиса и могу успешно получить данные таким образом. Вот почему я сравнил два сообщения мыла и обнаружил, что проблема, скорее всего, связана с URI, используемым для пространства имен мыла.
Code generated soap message
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Request>
//...
</Request>
</s:Body>
</s:Envelope>
Working message with SOAP UI
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Request>
//...
</Request>
</soap:Body>
</soap:Envelope>
Единственные различия в этих сообщениях - это префиксы пространства имен и пространство имен мыла (данные внутри тега запроса идентичны). Я хотел бы знать, отклоняет ли этот веб-сервис моё мыльное сообщение исключительно из-за используемого им пространства мыльных имен или что-то еще может вызвать проблемы?
Очевидно, мне, вероятно, понадобится сделать свою собственную реализациюсамому генерировать сообщения мыла, но я все же хотел бы знать, настроен ли веб-сервис на прием сообщений только с этим конкретным пространством имен мыла, или это какая-то другая проблема?