【问题标题】:Invalid Content-Type:application/xml error for SOAP无效的内容类型:SOAP 的应用程序/xml 错误
【发布时间】:2018-12-18 21:02:39
【问题描述】:

我在 Spring Boot 1.5 上有一个应用程序 Spring WS,SAAJ-impl-1.3.28.jar。它适用于内容类型“text/xml”购买抛出 Content-Type:application/xml 的以下异常。

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

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

【问题讨论】:

    标签: soap spring-ws saaj


    【解决方案1】:

    我的理解是错误是由传入请求的不正确内容类型触发的。在这种情况下,如果您想在 servlet 过滤器中更改它,您可以使用 HttpServletRequestWrapper 并覆盖 getContentType() 以返回所需的内容类型。

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

    【讨论】:

      【解决方案2】:

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

      "application/soap+xml; charset=UTF-8"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-21
        • 2013-03-11
        • 1970-01-01
        • 2019-03-22
        • 2015-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多