SOAP エラーの防止

生成された ​SOAP エラー​を解決したら、Transform Message コンポーネントをフローに追加し、要求に応答して操作を実装するために DataWeave でメッセージを指定します。DataWeave コードでは、要求への応答の先頭のエラーコードを回避するために適切な ​namespace​ を使用します。

WSDL で定義されたエンドポイントに達すると、Transform Message コンポーネントはプロセス側で機能します。このアクションは Mule アプリケーションのメインフローの実行をトリガーして、バックエンドフローをコールします。

  1. Studio で、​OrderTshirt:\soapkit-config​ フローの Transform Message コンポーネントをクリックします。

    [Transform Message] プロパティウィンドウに、生成された DataWeave コードが表示されます。

  2. DataWeave コードを次のように変更します。

    %dw 2.0
    output application/java
    ns ns0 http://mulesoft.org/tshirt-service
    ---
    {
        body: {
            ns0#OrderTshirtResponse: {
                orderId: "I got a request from " ++ (payload.body.ns0#OrderTshirt.name default "")
            }
        } write "application/xml"
    }
  3. プロジェクトを保存して再実行します。

  4. SoapUI で、SOAP エラーを生成する要求を再送信します。

    出力は有効な応答に変更されます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns0:OrderTshirtResponse xmlns:ns0="http://mulesoft.org/tshirt-service">
         <orderId>I got a request from John</orderId>
      </ns0:OrderTshirtResponse>
   </soap:Body>
</soap:Envelope>