2

MULEバージョン3.3.0CEを使用しています。インバウンドのヘッダーから値を取得し、それをJavaメソッドに渡します。Javaメソッドでは、渡された値に変更を加えます。最後に、Javaメソッドからアウトバウンドに渡しますか? ???

4

2 に答える 2

7

JavaBeanをMuleAPIに(を使用してCallable)結び付ける代わりに、MELのみを使用してこれを行うことができます(例:

<invoke object-ref="yourBean"
        method="yourMethod"
        methodArguments="#[message.inboundProperties['inboundPropertyName']]" />

<set-property propertyName="outboundPropertyName"
              value="#[payload]" />

これには、メッセージペイロードが要素の影響を受けるという警告がありますinvoke。これが問題である場合は、次の方法で対処できます。

<expression-component>
    propVal = app.registry.yourBean.yourMethod(message.inboundProperties['inboundPropertyName']);
    message.outboundProperties['outboundPropertyName'] = propVal;
</expression-component>
于 2013-03-05T16:20:33.747 に答える
3
  1. Javaコンポーネントにorg.mule.api.lifecycle.Callableを実装させます
  2. そのonCallで、次のようなメッセージを受け取ることができます。

    MuleMessageメッセージ=eventContext.getMessage();

  3. これで、インバウンドプロパティを取得できます。

    オブジェクトsomeProp=message.getInboundProperty( "some_prop_name");

  4. その上で操作した後、それをアウトバウンドプロパティとして戻します。

    message.setOutboundProperty( "some_prop_name"、someProp);

于 2013-03-05T13:00:41.583 に答える