我想为通过http入站端点传入的消息添加动态标头。 目标是返回XML有效负载以及地图中由dnamically生成的标头,如表所示 EnhancedMessage类。然后应将EnhancedMessage消息发送到下面的processChannel; 我尝试使用如图所示的Header richher,但是我从http入站而不是从入站获得了原始消息 消息已修改,由myBean返回。可以这样做吗?我希望链中的所有端点都能收到标头。 新的Serializable消息应该看起来像:
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.
答案 0 :(得分:0)
Header Enricher正好适用于headers
payload
。
从一方面,您可以考虑<enricher>
,payload
可以修改<transformer>
的部分。
甚至可以完整headers
,以便您完全控制消息 - payload
和{{1}}。
请阅读更多Reference Manual。