型付けされたエラーの表示方法

この手順では、ListInventory 操作で型付けされたエラーを表示するようにします。tshirt2.wsdl ファイルの場合、TshirtFault という 1 つの型付けされたエラーのみがあります。これは、WSDL が持つすべての操作 (OrderTshirt、ListInventory、TrackOrder) にマップされます。

APIkit for SOAP は、次の種別の SOAP エラーをサポートしています。

  • Soap Fault 1.1

  • Soap Fault 1.2

型付けされたエラーが含まれないファイルでも、任意の WSDL ファイルを使用していずれかの種別を選択できます。

  1. Studio で、パレット内のエラーを検索します。

    複数の SOAP Fault コンポーネントが表示される場合があります。

  2. [SOAP Fault] コンポーネントを ListInventory:api-config フローの [Transform] の右にドラッグアンドドロップします。

    バージョンの不一致について知らせる「Operation Unavailable (操作は使用できません)」メッセージが表示された場合、操作をキャンセルして別の SOAP Fault コンポーネントを選択します。バージョンの一致が見つかるまで、この手順を繰り返します。

  3. プロパティエディタの [Module Configuration (モジュール設定)] で、ドロップダウンから [soapkit-config] を選択します。

  4. [Operation (操作)] で、ドロップダウンから [ListInventory] を選択します。

  5. [Fault (エラー)] で、ドロップダウンから [TshirtFault] を選択し、プロパティを保存します。

  6. [SOAP Fault] コンポーネントの左にある [Transform Message] コンポーネントをクリックします。

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

    %dw 2.0
    output application/xml
    ns ns0 http://mulesoft.org/tshirt-service
    ns soap http://schemas.xmlsoap.org/soap/envelope/
    ---
    {
      soap#Fault: {
        faultcode: "soap:Server",
        faultstring: "The error details",
        detail: {
          ns0#TshirtFault: {
            errorStuff: 500
          }
        }
      }
    }
  8. プロジェクトを保存して再実行します。

    SoapUI クライアントを使用して、ListInventory 操作を実行します。

    クライアントは、デフォルトのエラーの代わりに次のエンベロープを返します。

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
       <soap:Body>
          <soap:Fault>
             <faultcode>soap:Server</faultcode>
             <faultstring>The error details</faultstring>
             <detail>
                <ns0:TshirtFault xmlns:ns0="http://mulesoft.org/tshirt-service">
                   <errorStuff>500</errorStuff>
                </ns0:TshirtFault>
             </detail>
          </soap:Fault>
       </soap:Body>
    </soap:Envelope>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub