Return 来自 Mule 中 linkedHashMap 的单个值
Return individual values from linkedHashMap in Mule
我在 Mule 中有一个网络服务的输出,return是一个 linkedHashMap,我需要获取要动态插入到模板中的各个值。该模板用于通过 SMTP 连接器发送电子邮件。我可以使用 MEL #[payload] 获取所有值,但我无法一一获取它们。我试过 #[payload.get(0)], #[payload[0]] 但它们都是 return null.
骡子 XML 看起来像这样:
<flow name="MW_Flow">
<file:inbound-endpoint path="C:\...." connector- ref="File" responseTimeout="10000" doc:name="File" pollingFrequency="60000"/>
<ws:consumer config-ref="File_Read_WS" operation="all3" doc:name="FileRead DBWriter WS"/>
<dw:transform-message metadata:id="6ee92ba8-9f67-40d6-bfa3-3e237da20822" doc:name="Transform Message">
<foreach doc:name="For Each">
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<parse-template location="C:\.....\Templates\Mail.txt" metadata:id="b7d894eb-465b-47f7-a542-b49fc4fb53d9" doc:name="Parse Template"/>
<logger message="2: #[message.exception] #[message.dataType] #[payload]" level="INFO" doc:name="Logger"/>
</foreach>
</flow>
模板(纯文本文件)看起来有点像这样:
你好[姓名]。
这是来自 [name2] 的电子邮件。以下事件[event].......
除了使用 #[payload] 时,我得到的都是空值,其中 return 是整行(4 个值)。
非常感谢任何帮助!
/约翰
如果您的有效载荷是 Map
,那么 payload.get(0) 或有效载荷[0] 的行为就好像您正试图从地图中获取一个值,我猜这是以 0 为键您的地图中不存在。
尝试使用名称访问它 - #[payload.name]
或 #[payload.name2]
或 #[payload[name]]
我在 Mule 中有一个网络服务的输出,return是一个 linkedHashMap,我需要获取要动态插入到模板中的各个值。该模板用于通过 SMTP 连接器发送电子邮件。我可以使用 MEL #[payload] 获取所有值,但我无法一一获取它们。我试过 #[payload.get(0)], #[payload[0]] 但它们都是 return null.
骡子 XML 看起来像这样:
<flow name="MW_Flow">
<file:inbound-endpoint path="C:\...." connector- ref="File" responseTimeout="10000" doc:name="File" pollingFrequency="60000"/>
<ws:consumer config-ref="File_Read_WS" operation="all3" doc:name="FileRead DBWriter WS"/>
<dw:transform-message metadata:id="6ee92ba8-9f67-40d6-bfa3-3e237da20822" doc:name="Transform Message">
<foreach doc:name="For Each">
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<parse-template location="C:\.....\Templates\Mail.txt" metadata:id="b7d894eb-465b-47f7-a542-b49fc4fb53d9" doc:name="Parse Template"/>
<logger message="2: #[message.exception] #[message.dataType] #[payload]" level="INFO" doc:name="Logger"/>
</foreach>
</flow>
模板(纯文本文件)看起来有点像这样:
你好[姓名]。 这是来自 [name2] 的电子邮件。以下事件[event].......
除了使用 #[payload] 时,我得到的都是空值,其中 return 是整行(4 个值)。
非常感谢任何帮助! /约翰
如果您的有效载荷是 Map
,那么 payload.get(0) 或有效载荷[0] 的行为就好像您正试图从地图中获取一个值,我猜这是以 0 为键您的地图中不存在。
尝试使用名称访问它 - #[payload.name]
或 #[payload.name2]
或 #[payload[name]]