Spring 集成:添加对实际消息的响应

Spring Integration: add response to actual message

我对 Spring 集成和 EIP 还很陌生。 目前我正在尝试通过服务激活器/出站网关调用 service/webservice。当将消息放入通道并调用服务时,消息本身丢失了,将被响应替换。有没有办法保留原始消息并仅将响应附加到它?

此致 帕特里克

首先,您可以使用 Header Enricher 端点将请求消息放入 headers:https://docs.spring.io/spring-integration/reference/html/message-transformation.html#header-enricher.

然后在收到响应并跟随下游后,您可以从 headers.

中提取 原始消息

其次:您可以考虑使用 Content Enricher 而不是通用服务激活器:https://docs.spring.io/spring-integration/reference/html/message-transformation.html#payload-enricher。因此,您将能够保留原始负载并将其扩展到回复内容。

最后:您可以在自定义服务激活器方法中执行任何需要的操作。因此,您在那里收到一条消息,发送请求,获得响应并将它们组合在一起以 return 一些回复消息。