JAX-WS 非同期応答リスナーの使用

Java™ API for XML-based Web Services (JAX-WS) には、非同期応答リスナーが含まれています。これは、Thin Client for JAX-WS およびアプリケーション・クライアント環境内で使用され、非同期で呼び出される要求に対する応答を受信します。

始める前に

JAX-WS は、コールバック・モデルまたはポーリング・モデルのいずれかを使用することで、非同期クライアント呼び出しを使用する Web サービスの呼び出しをサポートします。コールバック・モデルとポーリング・モデルの両方は、ディスパッチ・クライアントと動的プロキシー・クライアントで使用することができます。 JAX-WS クライアントが非同期クライアント呼び出しを使用する場合、 応答は非同期応答リスナーが受信します。非同期クライアント呼び出しモデルの使用方法については、JAX-WS Web サービスの非同期呼び出しに関する説明をご覧ください。

このタスクについて

非同期応答リスナーは、Web サービス・クライアント内で使用され、着信非同期応答を処理します。 Thin Client for JAX-WS 環境とアプリケーション・クライアント環境内のリスナーを使用することができます。 デフォルトでは、リスナーはランダム・ポートを開いて非同期応答を listen します。 あるいは、オプションとして、リスナーが使用する特定のポートを構成することもできます。 JAX-WS クライアントが非同期応答を予期するように構成されている場合、 リスナーは、JAX-WS ランタイムに自動的に開始します。

非同期応答リスナーには 2 つのバージョンがあります。 非同期応答リスナーの非セキュア・バージョンは HTTP プロトコルをサポートし、 非同期応答リスナーのセキュア・バージョンは HTTPS プロトコルをサポートします。 適切な非同期応答リスナーが、JAX-WS クライアントによって使用される特定トランスポートに基づいて自動的に開始します。 非同期応答リスナーとアプリケーション・サーバーの間で適切な Secure Sockets Layer (SSL) ハンドシェークが行われるようにするには、 SSL トランスポート・ポリシーまたは Java システム・プロパティーを 使用して SSL プロパティーを構成します。

アプリケーション・サーバー環境で稼働している Web サービスの場合、非同期応答の受信には非同期応答サーブレットを使用してください。

手順

  1. JAX-WS クライアントに HTTP または HTTPS の どちらのトランスポート・メカニズムを使用させるかを決定します。
  2. 非同期応答リスナーを、HTTP を使用する非セキュア通信用に構成します。

    非同期応答リスナー用の HTTP ポートは、Java システム・プロパティーとして 構成することも、トランスポート・ポリシー内でカスタム・プロパティーとして構成することもできます。 ポリシー・セット・バインディング・ファイルに定義されているプロパティーは、 定義済みの Java システム・プロパティーをオーバーライドします。

    1. com.ibm.websphere.webservices.http.listenerPort プロパティーを Java システム・プロパティーとして定義します。このプロパティーが Java システム・プロパティーとして設定されている場合、その Java 仮想マシン (JVM) 内にあるすべての非同期応答リスナーが影響を受けます。
    2. HTTPTransport トランスポート・ポリシー・セットのバインディング・ファイル内にある com.ibm.websphere.webservices.http.listenerPort プロパティーを定義します。 このプロパティーがトランスポート・ポリシー・セット・バインディング内でカスタム・プロパティーとして設定されている場合、ポリシー・セットが構成されているサービスのみが影響を受けます。
  3. 非同期応答リスナーを、HTTPS を使用するセキュア通信用に構成します。

    非同期応答リスナー用の HTTPS ポートは、Java システム・プロパティーとして 構成することも、トランスポート・ポリシー内でカスタム・プロパティーとして構成することもできます。

    1. com.ibm.websphere.webservices.https.listenerPort プロパティーを Java システム・プロパティーとして定義します。このプロパティーが Java システム・プロパティーとして設定されている場合、その JVM 内にあるすべての非同期応答リスナーが影響を受けます。
    2. SSLTransport トランスポート・ポリシー・セットのバインディング・ファイル内にある com.ibm.websphere.webservices.https.listenerPort プロパティーを定義します。 このプロパティーがトランスポート・ポリシー・セット・バインディング内でカスタム・プロパティーとして設定されている場合、ポリシー・セットが構成されているサービスのみが影響を受けます。

タスクの結果

JAX-WS Web サービス・クライアントは、非同期応答リスナーを使用して着信非同期応答を受信するように構成されました。

以下の例は、カスタム・ポート 9999 を定義する際に非同期応答リスナーを使用可能にする方法を示したものです。
  • シン・クライアント環境の非同期応答リスナー用にカスタム HTTP ポートを構成するには、次の Java コマンドを使用します。
    - java.exe -Dcom.ibm.websphere.webservices.http.listenerPort=9999 com.ibm.websphere.my_program
  • アプリケーション・クライアント・コンテナーの非同期応答リスナー用にカスタム HTTP ポートを構成するには、次の launchClient コマンドを使用します。
    - launchClient.bat MyClient.ear -CCDcom.ibm.websphere.webservices.http.listenerPort=9999
  • 以下は、非同期応答リスナー・プロパティーを含む HTTPTransport policy binding.xml ファイルからの抜粋です。
    </wsp:Policy>
       </wsp:ExactlyOne>
    	</wsp:All>
    	   	   <wshttp:outAsyncResponseProxy>
    		   		   <wshttp:connectInfo host="" port=""></wshttp:connectInfo>
                       <wshttp:basicAuth userid="" password=""></wshttp:basicAuth>
    	   	   </wshttp:outAsyncResponseProxy>
    	   	   <wshttp:properties>
    				<wshttp:customProperty name="com.ibm.websphere.webservices.http.listenerPort" value="9999" />
    	  </wshttp:properties>
    	</wsp:All>
       </wsp:ExactlyOne>
    </wsp:Policy>

次のタスク

指定された非同期応答リスナーのオプションを使用して JAX-WS クライアントを実行します。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_httpasyncresplist
ファイル名:twbs_httpasyncresplist.html