有没有办法在涉及中流HTTP传输的骡流中限制哪些会话变量作为HTTP头导出?

时间:2013-10-10 21:25:28

标签: mule mule-studio

我将一些数据作为会话变量存储在一个包含对外部服务的中流http调用的mule流中。我需要这个数据用于流逻辑的后续分支,因此是会话变量。但是,我不希望这些数据作为http标头与http调用一起出去。有没有办法限制mule包含哪些会话变量作为给定调用中的http标头?

3 个答案:

答案 0 :(得分:1)

使用流量变量:很少使用会话变量,特别是在默认情况下了解Mule如何泄漏它们。

流量变量(也称为调用属性)应该不受端点交互的影响,这是设计的。任何其他行为都是一个错误。如果您的变量不需要比流扩展更远,请使用流变量,而不是会话变量。

答案 1 :(得分:1)

如果要确定要传播的会话属性,可以编写自定义会话处理程序并将其注入http连接器,如下所示:

<http:connector name="httpConnector">
   <service-overrides sessionHandler="your_session_handler" />  
</http:connector>

可以找到自定义会话处理程序的示例here

那说我想回应David Dossot的回答:会话变量应该很少使用,特别是知道Mule默认如何泄漏它们。如果要传播某些内容,则应将其明确设置为出站属性,并且mule将传播它。

答案 2 :(得分:0)

会话变量不会通过http调用发送,只有会话ID通过cookie(通常)发送

如果您需要通过http调用将一些数据传递到外部域 - 例如,将它们包含在GET中,因为cookie不是共享的