【问题标题】:Return individual values from linkedHashMap in Mule从 Mule 中的linkedHashMap 返回单个值
【发布时间】:2016-04-23 00:17:22
【问题描述】:

我有一个来自 Mule 中的 web 服务的输出,它返回一个linkedHashMap,我需要将各个值动态插入到模板中。该模板用于通过 SMTP 连接器发送电子邮件。我可以使用 MEL #[payload] 获取所有值,但无法一一获取。我试过 #[payload.get(0)], #[payload[0]] 但它们都返回 null。

Mule XML 如下所示:

<flow name="MW_Flow">
    <file:inbound-endpoint path="C:\....\1" 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] 的电子邮件。以下事件[事件].....

除了使用返回整行(4 个值)的#[payload] 时,我得到的都是空值。

非常感谢任何帮助! /约翰

【问题讨论】:

    标签: mule linkedhashmap


    【解决方案1】:

    如果您的有效载荷是Map,那么有效载荷.get(0) 或有效载荷[0] 的行为就好像您试图从地图中获取一个以 0 为键的值,我猜这在您的地图。

    尝试使用名称访问它 - #[payload.name]#[payload.name2]#[payload[name]]

    【讨论】:

    • 我尝试了这些,但它们不起作用,但使用了“。”让我尝试另一种实际可行的方法,#[payload.column_name] 回想起来非常明显......无论如何,谢谢您的快速回复!
    • 很高兴它成功了!你的意思是#[payload.column_name] 有效吗?如果是,那么这就是我在回答#[payload.name] 中提到的,我假设你在 map 中有 name 键,因为你在模板中使用它:)。
    • 是的,#[payload.column_name] 有效!起初我没有意识到,因为我的专栏的实际名称不是名称,我只是在这里写它以便更容易理解:|
    猜你喜欢
    • 2014-04-16
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多