我注意到如果我有这样的流程模式:
<flow name="httpIn">
<http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:9001/test/in" />
<logger level="INFO" />
<http:outbound-endpoint exchange-pattern="request-response" address="http://localhost:9001/test/out" />
<logger level="INFO" />
</flow>
在调用outbound-endpoint
request-response
交换模式后,原始HTTP请求的入站属性会丢失。
这是正常行为吗?有没有办法为所有出站端点禁用此总体,或者此端点是否具体?
答案 0 :(得分:2)
是的,这是正常行为。这里解释得很清楚:
http://blogs.mulesoft.org/mule-school-the-mulemessage-property-scopes-and-variables/
骡子入站属性
您无法设置入站属性。消息来源(例如 入站端点)在收到消息时为您设置它们。 穿越“运输障碍”骡子时,入境物业将会丢失 出站属性
您可以设置出站属性。当穿越“运输 屏障“,出站属性自动转入入站 属性,不再作为出站属性存在。 - 请参阅:http://blogs.mulesoft.org/mule-school-the-mulemessage-property-scopes-and-variables/#sthash.yGzTrZEQ.dpuf
答案 1 :(得分:1)
是的,Mule入境物业不会在运输过程中传播。正如本link
中所述但是,请注意,您可以通过复制以下属性来保留传输之间的所有入站属性:
<copy-properties propertyName="*" />
这将复制所有属性,如果只需要很少的话,也可以指定特定的属性名称。
答案 2 :(得分:0)
Mule入站属性:这些属性由消息源或inblound端点自动设置。您无法设置它们。它们是不可变的,即。你不能对它们做任何改变。您只能访问它们,但您无法修改它们。他们在穿过“运输障碍”后迷路了
Mule出站属性:您可以设置这些属性。在越过传输障碍ike http后,出站属性会自动转换为入站属性,并且在出站范围内不再找到它们。