メッセージ内に元のペイロードを復元しようとすると、私はこの問題にぶつかり、メッセージの範囲に関して私を混乱させました。以下ラバの設定を考えると、私は最初にペイロードがtest.Name
VMエンドポイントで受信されたと仮定すると、(configに1と2を参照)フローの終了時に復元するつもりだった:ミュールメッセージの対象は何ですか?
<mule ...>
<vm:endpoint name="replacePayloadWithFoo.Name"
path="replacePayloadWithFoo.Path" />
<flow name="test">
<vm:inbound-endpoint name="test.Name" path="test.Path"
exchange-pattern="request-response" />
<!-- 1. Down below, I wanted to restore the payload at this point -->
<expression-transformer evaluator="string"
expression="bar" />
<outbound-endpoint ref="replacePayloadWithFoo.Name"
exchange-pattern="request-response" />
<!-- 2. The transformer below does not restore the payload at 1. -->
<expression-transformer evaluator="groovy"
expression="message.originalPayload" />
</flow>
<flow name="replacePayloadWithFoo">
<inbound-endpoint ref="replacePayloadWithFoo.Name"
exchange-pattern="request-response" />
<expression-transformer evaluator="string"
expression="foo" />
</flow>
</mule>
しかし、 test
フローに入ったメッセージがreplacePayloadWithFoo
発信エンドポイントで終了したように見えました。 2の変圧器はペイロードとして"foo"
を残します。
ミュールメッセージの対象は何ですか?
これに加えて、scripting reference documentationは、groovyスクリプトでoriginalPayload
のバインディングがあることを示します。ただし、2の変圧器が
<expression-transformer evaluator="groovy" expression="originalPayload" />
に置き換えている場合、私は例外を取得:
org.mule.api.expression.RequiredValueException: Expression Evaluator "groovy"
with expression "originalPayload" returned null but a value was required.
問題である可能性があり何?
おかげ
感謝を!あなたはロック!あなたは、メッセージスコープのトピックを詳述するドキュメントページを指すことができますか? originalPayloadの問題については、再現を助けるための例を投稿したいですか? – beluchin
私はどのようなドキュメントページについても考えることができません:メッセージスコープ:(そして、 'message.originalPayload'と' originalPayload'の間のこの不一致について新しい問題を開きます。 –