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
实用程序,以简化您的消息传递生活。
我正在使用 spring 集成,使用集成元素生成的数据将请求发送到 Web 服务端点(也使用集成配置)。我的工作流程中有一部分必须自己编程。通常我会创建一个网关 object/interface,Autowire 并将其用于来自集成工作流的 send/receive 数据。我想做一些类似的事情,但我不想使用通用网关,而是想使用 Web 服务出站网关。任何想法如何做到这一点?
正如您已经注意到的,第一个 class 公民 是 MessageChannel
并且集成流程中的逻辑基于 Message
发送通过这些 MessageChannel
从一个端点到另一个端点。
因此,正如您现在猜测的那样,要向 <int-ws:outbound-gateway>
发送请求,您应该使用其 request-channel
并向其发送一个 Message<?>
对象。为此,框架为您提供了一个 MessagingTemplate
,您可以绕过 gateway
抽象使用您自己的代码。在这件事上有一个方便的方法 - convertAndSend()
。另请注意 MessageBuilder
实用程序,以简化您的消息传递生活。