2

ここで何が間違っていますか?Mule メッセージのペイロードを、複数の値を含むマップに設定したいと考えています。そのうちの 1 つはフロー変数の内容です。

<set-variable variableName="myVariable" value="foo"/>
<set-payload value="#[['STATUS':'OKAY','NEXT':'Test','TEXT':flowVars['myVariable']]]"/>
<logger level="INFO" message="#[payload]"/>

これの出力は次のとおりです。

{STATUS=OKAY, NEXT=Test}

私は期待していました:

{STATUS=OKAY, NEXT=Test, TEXT=foo}

一連の式トランスフォーマーを使用してこれを実行できることはわかっていますが、この種の表記法を使用したい場合、フロー変数の値を取り込まないのはなぜですか?

編集:ソースコードのタイプミスを削除するには 、以下のライアンの回答で指摘されているように、これで問題が解決しました。

4

1 に答える 1

5

中括弧のバランスが取れていないようです。「Test」の後に不要な括弧があります。

次のようにする必要があります。

<set-payload value="#[['STATUS':'OKAY','NEXT':'Test','TEXT':flowVars['myVariable']]]"/>
于 2014-07-01T21:37:11.087 に答える