1

私のフローでは、サービスを呼び出す SOAP クライアントがあります。サービスから 3 つの異なる操作を使用しているため、Mule SOAP コンポーネントの「クライアント属性」の下にある「操作」フィールドに動的に入力したいと思います。私が今それを機能させている方法は次のとおりです。

start flow -> message transformation -> choice flow control (based on the message type) 
choice 1. sub flow A -> soap client with operation A 
choice 2. sub flow B -> soap client with operation B 
choice 3. sub flow C -> soap client with operation C

私が望むのは、実行時にメッセージに基づいて「操作」フィールドを動的に設定し、3 つの異なるサブフローを持たないようにすることです。

start flow -> message transformation -> set the operation field -> soap client with the correct operation 

それは可能ですか?Mule CE 3.3.1 を使用します。前もって感謝します。

4

1 に答える 1

2

目標を達成するには:

  • 要素operationから属性を削除し、cxf:jaxws-client
  • cxf:jaxws-client次の要素の前に、操作を送信メッセージ プロパティとして追加します。

    <set-property propertyName="operation" value="#[...]" />
    

    ここで#[...]、メッセージから操作名を抽出する MEL 式を表します。

于 2013-03-29T18:39:55.187 に答える