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 サービスの場合、 非同期応答の受信には非同期応答サーブレットを使用してください。
以下の例は、カスタム・ポート 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
</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>