如何在Spring-integration中获得ResponseEntity主体

时间:2018-05-31 07:57:03

标签: rest spring-boot jms spring-integration spring-jms

我正在使用基于xml的配置 - http出站网关到trii = gger一个休息服务,响应是ResponseEntity,我不知道该服务的详细信息。我收到的输出应放在JMS队列中。

如何更新以下内容以仅提取响应实体的主体并传递给输出通道?如果有变压器,请举例。是否可以使用config?

<int:chain input-channel="gsInChannel" output-channel="dest-channel">
<int-http:outbound-gateway          
               url="https://ia-zatie.str13.tst.belst.nu/ia-zaatie/rest/signal/v2"
               http-method="POST"  
               header-mapper="headerMapper"
               request-factory="sslFactory"                
               >
</int-http:outbound-gateway>
    </int:chain>

dest-channel是jms:outbound-channel-adapter

启动版本1.4.3和集成版本4.3.6

  

错误:org.springframework.messaging.MessageHandlingException:错误   发生在消息处理程序中   [org.springframework.integration.jms.JmsSendingMessageHandler#0];   嵌套异常是   org.springframework.jms.support.converter.MessageConversionException:   无法转换类型的对象   [org.springframework.http.ResponseEntity]到JMS消息。支持的   消息有效负载是:字符串,字节数组,映射,可序列化   对象

1 个答案:

答案 0 :(得分:1)

我正在使用HTTP POST方法,因此不期待,一个响应。 SoO没有包含期望响应类型,它返回正文

<int-http:outbound-gateway          
               url="https://ia-zatie.str13.tst.belst.nu/ia-zaatie/rest/signal/v2"
               http-method="POST"  
               header-mapper="headerMapper"
               request-factory="sslFactory"  

               expected-response-type="java.lang.String">