Web Service Consumer Connector の設定 - Mule 4

SOAP Web サービス操作をコンシュームするには、コンシュームするサービスを参照する設定を作成する必要があります。

Web Service Consumer Connector には設定が 1 つあります。最も重要な設定パラメーターは、WSDL Location (WSDL の場所)、Service (サービス)、Port (ポート) です。これらのいずれかのパラメーターが設定されていなければ、設定は有効になりません。

WSDL Location (WSDL の場所) は WSDL がある (ローカルまたはリモートの) 場所のパスまたは URL で、Service (サービス) と Port (ポート) は設定を使用して実行可能な SOAP 操作を指定するパラメーターです。

もう 1 つ重要なパラメーターは、Service Address (サービスアドレス) です。これは要求がディスパッチされる場所を示します。通常このパラメーターは Service (サービス) と Port (ポート) が指定されていると自動入力されますが、サービスとポートのペアがアドレスを示さないことがあり、その場合は正しいものを指定する必要があります。

単純な設定の例を次に示します。

<wsc:config name="wsc">
  <wsc:connection
   wsdlLocation="http://ilt.mulesoft-training.com/essentials/delta?wsdl"
   service="TicketServiceService"
   port="TicketServicePort"/>
</wsc:config>
xml

service​ と ​port​ のペアが有効なアドレスを宣言していないので、上記の設定には ​address​ パラメーターが含まれていません。この例の WSDL では、航空会社ごとのフライトのリストを取得します。

カスタム HTTP トランスポートの設定

デフォルトでは、コネクタは単純な保護されていない HTTP 設定を使用して、すべての送信 SOAP メッセージをディスパッチします。詳細な HTTP 設定が必要な場合、メッセージのディスパッチに使用される HTTP Connector 設定を使用して Web Service Consumer Connector をパラメーター化できます。

次の例をご覧ください。

カスタムトランスポート Web サービスコンシューマー設定
<http:request-config name="basic-auth">
    <http:request-connection host="www.someplace.com" port="8182" protocol="HTTP">
        <http:authentication>
            <http:basic-authentication username="alejandro.garcia" password="nariz"/>
        </http:authentication>
    </http:request-connection>
</http:request-config>

<wsc:config name="with-custom-transport">
    <wsc:connection wsdlLocation="http://www.host.com?WSDL" service="Service" port="Port">
        <wsc:custom-transport-configuration>
            <wsc:http-transport-configuration requesterConfig="basic-auth"/>
        </wsc:custom-transport-configuration>
    </wsc:connection>
</wsc:config>
xml

この例では、HTTP 基本認証を使用する HTTP リクエスター設定が宣言された後、Web Service Consumer Connector 設定の ​custom-transport-configuration​ 要素で参照されます。 Web Service Consumer Connector は、指定された詳細な設定を使用して各要求をディスパッチします。

Web Service Consumer Connector 設定は、WS-Security 戦略もサポートします。詳細は、下記のテクニカルリファレンスのリンクを参照してください。

Web サービスセキュリティの設定

WS-Security プロトコルは、メッセージに整合性と機密性をどのように適用できるかを指定し、さまざまなセキュリティトークン形式の通信を許可します。主な焦点は、エンドツーエンドセキュリティを提供するための XML 署名と XML 暗号化の使用です。

WS-Security は、次の 3 つの主要な仕組みを記述します。

  • 整合性を保証するために SOAP メッセージに署名する方法。署名されたメッセージでは非否認も提供されます。

  • 機密性を保証するために SOAP メッセージを暗号化する方法。

  • 送信者の ID を確認するためにセキュリティトークンを添付する方法。

Web Service Consumer Connector は、次のメカニズムをサポートします。

  • Timestamp (タイムスタンプ)

  • 署名/署名検証

  • Username (ユーザー名)

  • 暗号化/復号化

ユーザー名 WSS 戦略を使用する設定の例:

<wsc:config name="with-custom-transport">
    <wsc:connection wsdlLocation="http://www.host.com?WSDL" service="Service" port="Port">
        <wsc:web-service-security>
            <wsc:username-token-security-strategy username="admin" password="textPassword" addCreated="true" addNonce="true"/>
        </wsc:web-service-security>
    </wsc:connection>
</wsc:config>
xml

各 WSS 戦略の設定方法と各関連パラメーターの説明については、​「Web サービスコンシューマーテクニカルリファレンス」​を参照してください。