【问题标题】:How to use flowvariable in a Mule Query如何在 Mule 查询中使用流变量
【发布时间】:2015-08-16 22:16:02
【问题描述】:

我正在尝试在 Mule ESB 的 where 子句中使用带有 flowvariable 的查询(与 Salesforce 连接)

SELECT id FROM Account WHERE CX_ID__c = '"flowvars.orgpayload.CXM_ID+"' LIMIT 1

但我在这里没有收到错误。有关如何在查询中使用流变量的任何指针都会有所帮助。谢谢!

【问题讨论】:

  • 这个查询适合哪里?你能在你使用它的地方显示完整的 XML 元素吗?如果没有更多上下文,很难提供完整的答案。

标签: mule datamapper


【解决方案1】:

流变量可通过 MEL 访问,使用 flowVars.VAR_NAMEflowVars['VAR_NAME'](如果变量包含与 MEL 语法冲突的字符)或直接使用 VAR_NAME(如果您没有禁用流变量的默认绑定作为顶部级 MEL 变量)。

在您的情况下,由于流变量名为 orgpayload.CXM_ID. 使其与 MVEL 语法冲突。所以你不能使用flowVars.orgpayload.CXM_ID,而是必须使用flowVars['orgpayload.CXM_ID']

附言。 MEL 区分大小写。当你想要flowVars时,你输入了flowvars

【讨论】:

  • 我有另一个关于流程大局的问题。我已将其发布为一个新问题。如果您能帮助阐明一下,那就太好了!
【解决方案2】:

在你的情况下,我会受到打击

SELECT id FROM Account WHERE CX_ID__c = '#[flowVars['orgpayload.CXM_ID']]' LIMIT 1

除了上述之外,您应该考虑使用参数化查询而不是动态查询,因为动态查询容易出现SQL injection attacks,并且与参数化查询。

参考这个document

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2019-06-08
    相关资源
    最近更新 更多