使用生成的值修改有效负载
Modifying Payload with Generated Values
我想向通过 http 入站端点传入的消息添加动态 headers。
目标是 return XML 有效负载加上地图中动态生成的 headers ,如下所示
EnhancedMessage class。然后应将 EnhancedMessage 消息转发到下面的 processChannel;
如图所示,我尝试使用 Header enricher,但我从 http 入站而不是
消息修改了由 myBean 编辑的 return。这可以做到吗?我希望链中的所有端点都收到 headers。
新的可序列化消息应类似于:
class EnhancedMessage implements Serializable{
String getXMLRaw(){}
Map<String,String> getHeaders(){}
}
<int-http:inbound-channel-adapter id="dataInbound"
supported-methods="POST" status-code-``expression="T(org.springframework.http.HttpStatus).ACCEPTED"
path="/ops/process" channel="processChannel">
</int-http:inbound-channel-adapter>
<int:chain input-channel="processChannel">
<int:header-enricher>
<ref bean="myBean"/>
</int:header-enricher>
<int:recipient-list-router>
<int:recipient channel="out1" />
<int:recipient channel="out2" />
</int:recipient-list-router>
</int:chain>
Everything works except the message enhancement. I would appreciate any directions on how to proceed.
Header Enricher 完全适用于 headers
它对 payload
没有任何作用。
一方面可以考虑<enricher>
,谁可以修改payload
的部分。
甚至是完全 <transformer>
,它允许您完全控制消息 - 它的 headers
和 payload
.
请阅读更多内容 Reference Manual。
我想向通过 http 入站端点传入的消息添加动态 headers。 目标是 return XML 有效负载加上地图中动态生成的 headers ,如下所示 EnhancedMessage class。然后应将 EnhancedMessage 消息转发到下面的 processChannel; 如图所示,我尝试使用 Header enricher,但我从 http 入站而不是 消息修改了由 myBean 编辑的 return。这可以做到吗?我希望链中的所有端点都收到 headers。 新的可序列化消息应类似于:
class EnhancedMessage implements Serializable{
String getXMLRaw(){}
Map<String,String> getHeaders(){}
}
<int-http:inbound-channel-adapter id="dataInbound"
supported-methods="POST" status-code-``expression="T(org.springframework.http.HttpStatus).ACCEPTED"
path="/ops/process" channel="processChannel">
</int-http:inbound-channel-adapter>
<int:chain input-channel="processChannel">
<int:header-enricher>
<ref bean="myBean"/>
</int:header-enricher>
<int:recipient-list-router>
<int:recipient channel="out1" />
<int:recipient channel="out2" />
</int:recipient-list-router>
</int:chain>
Everything works except the message enhancement. I would appreciate any directions on how to proceed.
Header Enricher 完全适用于 headers
它对 payload
没有任何作用。
一方面可以考虑<enricher>
,谁可以修改payload
的部分。
甚至是完全 <transformer>
,它允许您完全控制消息 - 它的 headers
和 payload
.
请阅读更多内容 Reference Manual。