我将一些数据作为会话变量存储在 mule 流中,其中涉及对外部服务的中间流 http 调用。我需要这些数据用于流逻辑的后续分支,因此需要会话变量。但是,我不希望这些数据与 http 调用一起作为 http 标头输出。有没有办法限制在给定调用中包含哪些会话变量 mule 作为 http 标头?
问问题
223 次
3 回答
1
使用流变量:会话变量应该很少使用,尤其是要知道 Mule 默认是如何泄漏它们的。
流变量(又名调用属性)应该不受端点交互的影响,这是设计使然。任何其他行为都是错误。如果您的变量不需要比流扩展得更远,请使用流变量,而不是会话变量。
于 2013-10-10T21:27:19.450 回答
1
如果您想决定传播什么会话属性,您可以编写自定义会话处理程序并将其注入您的 http 连接器,如下所示:
<http:connector name="httpConnector">
<service-overrides sessionHandler="your_session_handler" />
</http:connector>
也就是说,我想回应 David Dossot 的回答:会话变量应该很少被使用,尤其是知道 Mule 默认是如何泄漏它们的。如果你想传播某些东西,你应该将它显式设置为出站属性,然后 mule 将传播它。
于 2013-10-11T12:53:47.773 回答
0
会话变量不会通过 http 调用发送,只有会话 ID 通过 cookie 发送(通常)
如果您需要通过 http 调用将一些数据传递到外部域 - 将它们包含在 GET 中,例如,因为 cookie 不共享
于 2013-10-10T21:26:26.320 回答