Я реализовал клиент веб-сервиса, который используется внутри веб-приложения (с использованием Spring), и этот клиент получает ответ, в котором CXF выдает ошибку, и выдает мне сообщение об ошибке.
Сообщение об ошибке:
Сервер не распознал значение HTTP-заголовка SOAPAction
Я обнаружил проблему, но не знаю, что я могу сделать, чтобы настроить обработку ответов моего веб-сервиса.
Ответ xml ниже работает без проблем.
Работает и принимается нормально!
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bar="http://www.dummyurl.com/service-v1.0/">
<soapenv:Header/>
<soapenv:Body>
<bar:StartSessionResponse>
<result>1</result>
</bar:StartSessionResponse>
</soapenv:Body>
</soapenv:Envelope>
Служба фактически возвращает:
Сбой и выдает ошибку!
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<StartSessionResponse xmlns="www.dummyurl.com/service-v1.0/">
<result xmlns="">1</result>
</StartSessionResponse>
</soap:Body>
</soap:Envelope>
Насколько я вижу, разница в размещении
xmlns = "www.dummyurl.com/service-v1.0/, в успешном xml он находится в конверте, в неудачном xml он находится на метод ответа.
Есть ли способ убедить CXF принять ответ? Или служба возвращает ненормальный результат?