2016-04-22 5 views
0

私はリンクされたHashMapを返すMuleのWebサービスからの出力を持っており、個々の値をテンプレートに動的に挿入する必要があります。このテンプレートは、SMTPコネクタ経由で電子メールを送信するために使用されます。私はMEL#[payload]を使ってすべての値を得ることができますが、私はそれらを一つずつ得ることはできません。 #[payload.get(0)]、#[payload [0]]を試しましたが、それらはすべてnullを返します。MuleのlinkedHashMapから個々の値を返します

はミュール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]を使用する場合を除いて、null値です。

大変助かりました! /Johan

答えて

0

ペイロードがMapの場合、payload.get(0)またはpayload [0]は、0のキーをキーとしてマップから値を取得しようとしているかのように動作しますあなたの地図に

名前でアクセスしてみてください - 使用して#[payload.name]または#[payload.name2]または#[payload[name]]

+0

が、私はそれらを試してみましたが、彼らは動作しませんでしたが、「」私は実際に働いた別の方法を試してみました。#[payload.column_name]振り返ってみるとかなり明白です...あなたの迅速な対応のために、とにかく! – Slim

+0

うれしかった! #[payload.column_name]は働いたのですか?はいの場合、答え#[payload.name]で言及したことですが、テンプレートで名前キーを使用していたため、マップに名前キーがあると仮定しました:) –

+0

はい、#[payload.column_name]は機能しました!私は実際に私の列の実際の名前が名前ではなかったので、最初は理解できませんでした。 – Slim

関連する問題