Web服务集成 - 如何在响应类中访问请求对象?

时间:2016-09-26 12:15:18

标签: spring-integration spring-web

我有一个访问网络服务的代码,后者又回复了我的回复



CREATE PROCEDURE [dbo].[MultiResultSet]
AS
    SELECT * FROM Customers

    SELECT * FROM Addresses




我能在我的responseHandler中获得响应,但我还想要使用频道发送到网络服务的请求对象?如何在responseHandler中访问同一个请求对象?

1 个答案:

答案 0 :(得分:0)

好吧,因为所有Spring Integration端点都通过通道相互分离,我们可以将它们视为微服务。这是非常合乎逻辑和自然的,然后下一个端点对前一个端点的输入一无所知。

无论如何,我们可以通过邮件标题达到要求。因此,您将请求有效负载复制到标头并在下游获取访问权限:

<int:header-enricher> 
    <int:header name="request" expression="payload"/>
</int:header-enricher> 

您的服务方法handleResponse可以接受整个Message<?>来访问该标头,或者您只需添加一个带@Header("request")注释的方法参数。