使用消息属性变量和设置变量变量设置的调用变量之间的区别?
问题的上下文是:当我使用set变量时,datamapper在下拉列表中识别并显示变量,但当使用Message Properties转换器设置调用变量时,它永远不会显示。 这是正常的吗?使用消息属性变量和设置变量变量设置的调用变量之间的区别?
消息属性变换器是将不同范围的变量/属性添加到消息的旧方法。
Mule改进了消息属性变换器并将其拆分为<set-variable>
,<set-property>
和<set-session-variable>
变换器。 除了明确的功能分离之外,当查看流程图时,这使得流程更具可读性和可理解性。
要记住的一点是,消息属性默认将属性添加到出站作用域。如果您想将其添加到必须在scope属性中提及的调用作用域中。
<message-properties-transformer scope="invocation">
<add-message-property key="someKey" value="someValue"/>
</message-properties-transformer>
希望这会有所帮助。
将范围设置为“调用”本身后,我看到此行为。另一种观察是,如果我在groovy脚本中创建一个调用变量,datamapper不会识别。似乎只有set-variable对于datamappers可见。 – shrinathM 2014-10-10 06:03:33
请编辑答案以修复缺少的变压器名称。 – 2014-10-10 17:59:47
@RyanHoegg感谢您的观察。我现在正确地编辑它。 :) – user1760178 2014-10-10 18:28:23
不,这是不正常的。
确保在消息属性变换器上使用invocation
作用域。
我做过大卫。另外,如果在Groovy脚本中设置了任何调用变量,则该变量不会显示在datamapper下拉列表中。只有从set-variable设置的变量才会显示。这里我只关心调用变量。我没有试验其他变量。 – shrinathM 2014-10-10 06:06:03
感觉像一个bug然后:在https://www.mulesoft.org/jira打开一个JIRA并且正如user1760178所说的那样,'message-properties-transformer'是旧东西,反正你应该使用'set-variable'。 – 2014-10-10 15:43:52
我认为您要查找的Data Mapper功能称为Data Sense,我不认为它能够从groovy脚本获取所需的元数据。应该可以将它添加到消息属性转换器中。 – 2014-10-10 17:59:11
请注意,DataMapper是企业版功能,因此您应该能够获得MuleSoft的专业支持。 – 2014-10-10 18:19:34