如何访问调用属性?

How to access the invocation property?

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

#[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:

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

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

在 mule 调用范围内的属性只是 flowVars。因此,您可以使用以下 mule 表达式

访问它们

#[flowVars.'_clientName']

在上面的表达式中,无需将 _clientName 括在方括号中,只需像我一样引用即可。

仅供参考

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

访问它们

虽然您没有询问会话范围的属性,但我已经回答了它,因为通过阅读您的问题,我通过查看控制台中由 Logger 组件引起的日志,了解到您是在问这个问题共 Mule.

记录器不仅记录调用范围的属性,还记录会话范围的属性。所以我想你可能会想到什么是会话范围的属性,所以回答它。