使用消息属性变量和设置变量变量设置的调用变量之间的区别?

问题描述:

问题的上下文是:当我使用set变量时,datamapper在下拉列表中识别并显示变量,但当使用Message Properties转换器设置调用变量时,它永远不会显示。 这是正常的吗?使用消息属性变量和设置变量变量设置的调用变量之间的区别?

+1

请注意,DataMapper是企业版功能,因此您应该能够获得MuleSoft的专业支持。 – 2014-10-10 18:19:34

消息属性变换器是将不同范围的变量/属性添加到消息的旧方法。

Mule改进了消息属性变换器并将其拆分为<set-variable>,<set-property><set-session-variable>变换器。 除了明确的功能分离之外,当查看流程图时,这使得流程更具可读性和可理解性。

要记住的一点是,消息属性默认将属性添加到出站作用域。如果您想将其添加到必须在scope属性中提及的调用作用域中。

<message-properties-transformer scope="invocation"> 
    <add-message-property key="someKey" value="someValue"/> 
</message-properties-transformer> 

希望这会有所帮助。

+0

将范围设置为“调用”本身后,我看到此行为。另一种观察是,如果我在groovy脚本中创建一个调用变量,datamapper不会识别。似乎只有set-variable对于datamappers可见。 – shrinathM 2014-10-10 06:03:33

+0

请编辑答案以修复缺少的变压器名称。 – 2014-10-10 17:59:47

+0

@RyanHoegg感谢您的观察。我现在正确地编辑它。 :) – user1760178 2014-10-10 18:28:23

不,这是不正常的。

确保在消息属性变换器上使用invocation作用域。

+0

我做过大卫。另外,如果在Groovy脚本中设置了任何调用变量,则该变量不会显示在datamapper下拉列表中。只有从set-variable设置的变量才会显示。这里我只关心调用变量。我没有试验其他变量。 – shrinathM 2014-10-10 06:06:03

+1

感觉像一个bug然后:在https://www.mulesoft.org/jira打开一个JIRA并且正如user1760178所说的那样,'message-properties-transformer'是旧东西,反正你应该使用'set-variable'。 – 2014-10-10 15:43:52

+1

我认为您要查找的Data Mapper功能称为Data Sense,我不认为它能够从groovy脚本获取所需的元数据。应该可以将它添加到消息属性转换器中。 – 2014-10-10 17:59:11