如何访问调用属性?

时间:2016-06-20 22:55:28

标签: mule mule-el anypoint-studio cloudhub

我正在尝试从调用属性访问_clienName。我尝试了下面的一个,但没有帮助。有什么想法吗 ?是否真的可以在骡子流中访问调用属性?

  

#[message.invocationProperties['_clientName']]

Message properties:
  INVOCATION scoped properties:
    __httpEvent=HttpEvent #188...9{apiName=.....95574017,something=99034}
    _clientId=680.....81d97344
    _clientName=abcd-app
  INBOUND scoped properties:

3 个答案:

答案 0 :(得分:3)

可以通过flowVars访问调用属性:#[flowVars [' _clientName']]或#[flowVars._clientName]

答案 1 :(得分:1)

Post Mule EE 3.4所有调用属性都有一个命名更改为FlowVariables。即使现在,如果您尝试使用#[flowVars.name],调用属性也会起作用。在Message属性转换器中,您可以选择仅将其设置为调用属性,但可以在其余流中将其作为flowVars进行访问。

答案 2 :(得分:0)

在mule调用中,作用域属性只是flowVars。因此,您可以使用以下mule表达式

来访问它们

#[flowVars.'_clientName']

在上面的表达式中,不需要将_clientName包装在方括号中,只需像我一样引用它们。

FYI

会话范围属性只是sessionVars。因此,您可以使用#[sessionVars.'_clientName']

访问它们

虽然您没有询问会话作用域属性,但我已经回答了它,因为通过阅读您的问题,我发现您通过查看Logger Mule组件引起的控制台中的日志来提出问题{1}}。

记录器不仅记录调用范围属性,还记录会话范围属性。所以我想你可能会在脑海中得到一个关于什么是Session范围属性的问题,所以回答了它。