Spring 集成:以编程方式向出站网关发送请求

Spring Integration: Programmatically send request to outbound gateway

我正在使用 spring 集成,使用集成元素生成的数据将请求发送到 Web 服务端点(也使用集成配置)。我的工作流程中有一部分必须自己编程。通常我会创建一个网关 object/interface,Autowire 并将其用于来自集成工作流的 send/receive 数据。我想做一些类似的事情,但我不想使用通用网关,而是想使用 Web 服务出站网关。任何想法如何做到这一点?

正如您已经注意到的,第一个 class 公民 MessageChannel 并且集成流程中的逻辑基于 Message 发送通过这些 MessageChannel 从一个端点到另一个端点。

因此,正如您现在猜测的那样,要向 <int-ws:outbound-gateway> 发送请求,您应该使用其 request-channel 并向其发送一个 Message<?> 对象。为此,框架为您提供了一个 MessagingTemplate,您可以绕过 gateway 抽象使用您自己的代码。在这件事上有一个方便的方法 - convertAndSend()。另请注意 MessageBuilder 实用程序,以简化您的消息传递生活。