向Spring集成请求添加动态cookie

时间:2015-05-13 22:03:27

标签: spring cookies header integration

我想发送一个cookie作为HTTP服务请求的一部分。 cookie的名称是_br_uid_2,cookie的值应该是payload对象的customerId属性。

服务配置如下:

<int:channel id="InChannelBr"></int:channel>
<int:channel id="OutChannelBr"></int:channel>

<!-- Gateway Start -->
<int:gateway id="BloomreachGateway" default-request-timeout="5000" default-reply-timeout="5000" 
default-request-channel="InChannelBr" service-interface="com.someco.service.BloomreachSpringService">
    <int:method name="getSearchResults" request-channel="InChannelBr" reply-channel="OutChannelBr" />       
</int:gateway>  

<int-http:outbound-gateway id="locationBloomreachGateway"
                           request-channel="InChannelBr"
                           reply-channel="OutChannelBr"
                           url="${bloomreach_search_url}?account_id=${br_account_id}&amp;auth_key=${br_auth_key}&amp;domain_key=${br_domain_key}&amp;url=${br_url}&amp;request_type=${br_request_type}&amp;br_origin=${br_origin}&amp;search_type=${br_search_type}&amp;fl=${br_field_list}{urlParams}&amp;facet.range=${br_price_range}"
                           http-method="GET"
                           encode-uri="false"
                           transfer-cookies="true"
                           reply-timeout='5000'
                           expected-response-type="com.someco.BloomreachSearchResponse"
                           message-converters="brJsonConverter"
                           uri-variables-expression="@brUriVariablesBean.populate(payload)">
</int-http:outbound-gateway>

这似乎是一个共同的愿望,但我没有看到任何明确的文件。我看了变形金刚和标题爱好者。

有人可以告诉我如何更新Spring服务定义,以便将payload.getCustomerId()作为_br_uid_2 cookie的值发送?

谢谢! 波比

1 个答案:

答案 0 :(得分:0)

我明白了。我添加了一个带有name =“Cookie”expression =“'_ br_uid_2 ='+ payload.customerId”的标题扩充器。

structs