originalPayload
はgroovy式でmessage.originalPayload
と同じことをしていません。 originalPayload
でoriginalPayloadはgroovyスクリプトのmessage.originalPayloadと同じではありません
:それは、次の変圧器は、同じことをしない、ある
message.originalPayload
と
<expression-transformer evaluator="groovy" expression="originalPayload" />
:
<expression-transformer evaluator="groovy" expression="message.originalPayload" />
次ラバの設定とテストケースを再現するために使用することができます問題:
<mule ...>
<flow name="test">
<vm:inbound-endpoint name="test.Name" path="test.Path"
exchange-pattern="request-response" />
<expression-transformer evaluator="string" expression="bar" />
<expression-transformer evaluator="groovy" expression="originalPayload" />
<!-- or alternatively -->
<!-- <expression-transformer evaluator="groovy" expression="message.originalPayload" /> -->
</flow>
</mule>
テストケースc :
@Test
public void transformers() throws MuleException {
final MuleClient client = muleContext.getClient();
final MuleMessage reply = client.send("vm://test.Path", 1, null, RECEIVE_TIMEOUT);
assertEquals(1, reply.getPayload());
}
message.originalPayload
の代替案は期待どおりに機能します。 originalPayload
との1がないと、次の例外がログに示されている:私は間違って
Exception stack is:
1. Expression Evaluator "groovy" with expression "originalPayload" returned null
but a value was required. (org.mule.api.expression.RequiredValue Exception)
をやって何ができますか?
ありがとうございました。
ハード私はファイルを投稿するために。私はそれが制限されている環境で働いています。しかし、私はオリジナルの質問に投稿した情報を使ってプロジェクトを簡単に作成することができます。 – beluchin