Недопустимый тип содержимого: ошибка application / xml для SOAP - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть приложение Spring WS на Spring Boot 1.5, SAAJ-impl-1.3.28.jar.Он отлично работает с типом контента "text / xml", выбрасывая следующее исключение для Content-Type: application / xml.

"ОШИБКА - accC [. [. [. [MessageDispatcherServlet»]: Servlet.application / xml. Является ли это сообщением об ошибке вместо ответа SOAP ?; вложенное исключение: com.sun.xml.messaging.saaj.SOAPExceptionImpl: недопустимый тип содержимого: application / xml. Это сообщение об ошибке вместо ответа SOAP?] с основной причиной com.sun.xml.messaging.saaj.SOAPExceptionImpl: недопустимый тип содержимого: application / xml. Это сообщение об ошибке вместо ответа SOAP? "

Я попытался принудительно обновить тип содержимого до «text / xml», расширив HttpServletResponseWrapper super.setContentType () вФильтр сервлетов, но это не помогло.Как обойти или принудительно обновить тип контента, чтобы удовлетворить SAAJ?

1 Ответ

0 голосов
/ 19 декабря 2018

Насколько я понимаю, ошибка вызвана неправильным типом содержимого для входящего запроса.В этом случае, если вы хотите изменить его в фильтре сервлетов, вы должны использовать HttpServletRequestWrapper и переопределить getContentType(), чтобы вернуть желаемый тип контента.

При этом, application/xml явно неправильный тип контента для SOAP 1.1, и вы должны попытаться исправить клиента.

...