Web サービスコンシューマの設定方法

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

Web Service Consumer (WSC) コネクタには設定が 1 つあります。最も重要な設定パラメータは、WSDL Location (wdslLocation)、Service (service)、Port (port) です。これらのいずれかが設定されていなければ、設定は有効になりません。

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

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

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

単純な Web サービスコンシューマ設定
<wsc:config name="wsc">
  <wsc:connection
   wsdlLocation="http://www.webservicex.com/globalweather.asmx?WSDL"
   service="GlobalWeather"
   port="GlobalWeatherSoap"/>
</wsc:config>

serviceport のペアが有効なアドレスを宣言していないので、上記の設定には address パラメータが含まれていません。この例の WSDL は、公共サービスである Global Weather サービスを示しています。

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

デフォルトでは、コネクタは単純な保護されていない HTTP 設定を使用して、すべての送信 SOAP メッセージをディスパッチします。詳細な HTTP 設定が必要な場合、メッセージのディスパッチに使用される HTTP コネクタ設定を使用して Web サービスコンシューマをパラメータ化できます。次の例をご覧ください。

カスタムトランスポート 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>

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

Web サービスコンシューマ設定は WSS セキュリティ戦略もサポートします。詳細は、下記のテクニカルリファレンスのリンクを参照してください。

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

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

WS-Security は、次の主要メカニズムを記述します。

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

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

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

Web サービスコンシューマは、次のメカニズムをサポートします。

  • タイムスタンプ

  • 署名/署名検証

  • 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>

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub