【问题标题】:How to access the invocation property?如何访问调用属性?
【发布时间】:2016-06-20 22:55:28
【问题描述】:

我正在尝试从调用属性访问 _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:

【问题讨论】:

  • 调用只不过是 flowVariable

标签: mule mule-el anypoint-studio cloudhub


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      #[flowVars.'_clientName']

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

      仅供参考

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

      虽然您没有询问会话范围属性,但我已经回答了它,因为通过阅读您的问题,我知道您是通过查看控制台中由 MuleLogger 组件引起的日志来提出问题的.

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-24
        • 2019-03-16
        • 2020-06-13
        • 1970-01-01
        • 1970-01-01
        • 2011-02-23
        • 2011-11-05
        • 1970-01-01
        相关资源
        最近更新 更多