当前位置: 首页 > 知识库问答 >
问题:

spring-integration中ResponseEntity体的获取

蒋飞捷
2023-03-14

我使用基于xml的配置-http出站网关trii=gger一个rest服务,响应是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>

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

共有1个答案

巴洲
2023-03-14

我正在使用HTTP POST方法,所以没有期待响应。SoO没有包含expected-respons-type,它返回正文

<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">
 类似资料:
  • 我的SpringBoot应用程序通过REST HTTP调用外部服务,并通过客户端和方法实现。 到目前为止,客户机接收的始终是字符串主体->。前一段时间,我们调用的服务返回HTTP 202,但没有body,因此抛出以下异常: 。

  • 我需要在运行时拦截所有Spring Integration组件,并且应该能够获取属性值,以便记录有意义的消息。例如: 在上面的示例中,我需要截获int-http:output-gateway并捕获url、request-channel和expected-response-type的值。我们需要为所有http出站网关这样做。 或 此外,我还试图将LogMessage注入到wire-tap中,以便从M

  • Spring Integration能在基于Spring的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成。这些适配器提供了一个更高级别的抽象,超越 了Spring对远程调用、消息和调度的支持。其主要目标是在保持关注点分离的同时,为构建企业集成解决方案提供一个简单的模型,该模型对产出可维护、可 测试的代码来说是必不可少的。 文档地址  

  • 我正在使用Spring集成连接到JMS消息队列。我使用的JMS提供程序是Apache ActiveMQ。 我有以下读取JMS消息的类(具有ServiceActivator方法): 在这里,实体是我的应用程序中的POJO。 从JMS队列读取消息时,我得到以下异常: 我应该如何解决这个问题? 谢谢

  • 我试图使用Spring集成来设置remoteDirectoryExpression,在下面的代码中我将其设置为“headers”。['远程目录']”。然而,它显示以下错误。我如何编写spEl来使它工作?谢了。 org . spring framework . beans . factory . beancreationexception:创建在类路径资源[com/carrot it/ca/conf

  • TLDR;如何使用Spring在正文中发送文本消息以及304状态代码? 背景 我正在使用Spring Boot编写一个REST API。在某些endpoint中,我想返回: 任一状态 ,身体, 或状态 未修改,正文 我的endpoint使用(在kotlin中)的方式如下: 问题 每当我用状态代码创建< code>ResponseEntity时!= 200,正文不发(空正文)。将< code>Htt