1

私は mule esb の初心者で、トラブルが 1 つ解決できません。ws へのリクエストでオブジェクトを受け取るミュール 3.2.0 のフローがあります。cxf:jaxws-client で ws に送ります。このフローの最初に、リクエストとレスポンスのパターンを持つ vm:inbound エンドポイントがあります。私が望むのは、フローの「vm.logServiceエンドポイント」から発信者に送り返される前に、「vmInエンドポイント」からの応答として返されたオブジェクトに変換を適用することです。私は実際に応答を受け取りますが、それは null ペイロードです。「vm.logService」は、MuleClient.send(url, message, properties) を使用して Java コードから MuleMessage を送信するためのエンドポイントです。これは「response」ブロックで行う必要があることを読みましたが、これは起こっていません。

これが私の構成です

<vm:endpoint  name="vmOut"  path="vmOut" exchange-pattern="request-response"/>

<vm:endpoint  name="vmIn"  path="vmIn" exchange-pattern="request-response"/>

<pattern:web-service-proxy 
name="name" 
inboundEndpoint-ref="vmIn" 
transformer-refs="logging" 
responseTransformer-refs="logging"
outboundEndpoint-ref="vmOut" />



<flow name="logService">

<vm:inbound-endpoint path="vm.logService"/>

<vm:outbound-endpoint ref="vmIn">

<cxf:jaxws-client   serviceClass="my.WSClass" operation="operation" 
enableMuleSoapHeaders="false"/>

<object-to-string-transformer/>

</vm:outbound-endpoint>

<response>
<custom transformer name="myTransformer" class="someclass" />
</response>
<flow name="genericTransformer">

    <vm:inbound-endpoint path="vmOut"/>

    <custom-transformer class="mypkg.GenericServiceTransformer">

    </custom-transformer>

</flow> 

 <flow name="import">
<vm:inbound-endpoint path="vm.import" exchange-pattern="request-response"/>

    <http:outbound-endpoint address="${Service}" responseTimeout="${ws.timeout}" exchange-pattern="request-response" />

    <object-to-string-transformer/>
</flow>

さて、jaxws-client で送信した後、このリクエスト メッセージが処理されるフローはあと少ししかありませんが、これが機能しない理由だとは思いません。助けてくれてありがとう

4

1 に答える 1

1

「vm.logService」VMエンドポイントは、私には要求/応答を認識しません。交換パターンを指定しないため、実際にはデフォルトで一方向です。それはあなたが何も戻らない理由を説明するかもしれません。

また、「vmIn」の定義が表示されないため、それが正しく要求/応答であるかどうかを確認できません。これは、応答ブロックに到達しないもう1つの理由である可能性があります。

実際:応答ブロックがフローの最後の要素である場合、それは必要ありません。「myTransformer」が要求フェーズで適用されても、その後は何もないので問題ありません。

jaxws-clientで送信した後、このリクエストメッセージが処理されるフローがもう少しあります

それが何を意味するのか本当にわかりません。

于 2012-12-11T22:19:13.907 に答える