无效的内容类型:SOAP 的 application/xml 错误

问题描述 投票:0回答:2

我有一个基于Spring Boot 1.5的应用程序Spring WS,SAAJ-impl-1.3.28.jar。它与内容类型“text/xml”一起工作正常,购买抛出以下内容类型异常:application/xml。

“错误 - a.c.c.C.[.[.[.[messageDispatcherServlet] : Servlet.service() for servlet [messageDispatcherServlet] 在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 org.springframework.ws.soap .SoapMessageCreationException:无法从InputStream创建消息:无效Content-Type:application/xml。这是一条错误消息而不是 SOAP 响应吗?嵌套异常是 com.sun.xml.messaging.saaj.SOAPExceptionImpl:无效的 Content-Type:application/xml。 SOAP 响应?] 以及根本原因 com.sun.xml.messaging.saaj.SOAPExceptionImpl:无效的内容类型:application/xml。这是错误消息而不是 SOAP 响应吗?”

我尝试通过扩展 Servlet Filter 中的 HttpServletResponseWrapper super.setContentType() 来强制将内容类型更新为“text/xml”,但没有帮助。如何绕过或强制更新内容类型以满足 SAAJ?

soap spring-ws saaj
2个回答
0
投票

我的理解是,该错误是由传入请求的内容类型不正确触发的。在这种情况下,如果您想在 servlet 过滤器中更改它,您可以使用

HttpServletRequestWrapper
并覆盖
getContentType()
以返回所需的内容类型。

话虽如此,

application/xml
显然不是 SOAP 1.1 的正确内容类型,您应该尝试修复客户端。


0
投票

我在 SOAP 中也遇到过类似的错误。通过将内容类型设置为

解决了这个问题
"application/soap+xml; charset=UTF-8"
© www.soinside.com 2019 - 2024. All rights reserved.