【问题标题】:Spring WS Invalid Content TypeSpring WS 无效的内容类型
【发布时间】:2010-12-03 22:06:58
【问题描述】:

我有一个 Spring WS 客户端。我通过 wsimport 生成了 WSDL 存根。

当我尝试发送请求时,我得到一个无效的内容类型异常:

严重:SAAJ0537:内容类型无效。可能是错误消息而不是 SOAP 消息 线程“主”org.springframework.ws.soap.SoapMessageCreationException 中的异常:无法从 InputStream 创建消息:无效的内容类型:文本/html。这是错误消息而不是 SOAP 响应吗?嵌套异常是 com.sun.xml.messaging.saaj.SOAPExceptionImpl:Invalid Content-Type:text/html。这是错误消息而不是 SOAP 响应吗?

这是否表明我发送的消息具有无效的内容类型或我收到的响应具有无效的内容类型?如果是在客户端,如何设置内容类型?

我尝试通过 Soap UI 模拟 Web 服务。我能够发送和接收正确的响应。

编辑:

在我的日志中,显示请求已发送:

DEBUG [org.springframework.ws.client.MessageTracing.sent] - 发送请求

然后我得到那个异常:

线程“主”org.springframework.ws.soap.SoapMessageCreationException 中的异常:

【问题讨论】:

    标签: spring types


    【解决方案1】:

    问题解决了。

    原来我没有发送任何 SOAP 内容。 SOAP 标头设置正确。但是 SOAP 主体是空的。为了解决这个问题,我必须附上我要求的内容。

    之前:

    GetDeletedRequest request = new GetDeletedRequest();
    JAXBElement res = (JAXBElement) webServiceTemplate.marshalSendAndReceive(request, new WebServiceMessageCallback() {...}
    

    之后:

    GetDeletedRequest request = new GetDeletedRequest();
    request.setGetDeletedFilter(deleteFilter); // This is the content that I'm missing!
    JAXBElement res = (JAXBElement) webServiceTemplate.marshalSendAndReceive(request, new WebServiceMessageCallback() {...}
    

    我忽略了这个错误,因为我专注于将 AXIS 1.x 客户端实现移植到 Spring WS 实现。

    包括 Arjen Poustma 在内的一些人建议使用 tcpmon 来嗅探正在发送的内容。我没有设法正确配置和运行它(这是另一个不相关的问题)。但这让我想到了首先检查我的应用程序发送的内容。

    我环顾四周,在 Spring 论坛中看到了一个类似的问题,即 WS Client using JAXB for marshalling 上的无效内容类型。最后一张海报建议使用 CommonsHttpMessageSender,就像他在Web Service Client with Spring-WS 提供的示例一样(这是一个很好的示例)。使用 CommonsHttpMessageSender 它能够打印出我的整个 SOAP 信封:

    <property name="messageSender">
         <bean class="org.springframework.ws.transport.http.CommonsHttpMessageSender" />
    </property>
    

    我在这里记录我的经历,因为我知道有一天会有另一个像我一样的人遇到同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-13
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多