SOAP over JMS を使用して双方向 Web サービス通信を使用する場合は、Web サービス要求が行われるたびに JAX-RPC Web サービス・クライアントが一時的応答キューを作成しなくてもよいように、JAX-RPC Web サービス・クライアントに 永続 replyTo キューを構成しておくと便利です。
このタスクについて
永続
replyTo キューは、次の方法のいずれかで Web サービス・クライアントに構成されます。
- オプションの replyToDestination プロパティーを
JMS エンドポイント URL で指定します。
- replyTo キューを、クライアント JAX-RPC Stub または Call オブジェクトでプログラマチックに設定します。replyTo キューを Stub または Call プロパティーとして設定すると、
その Stub または Call オブジェクトを使用して呼び出されるすべての要求がその設定の影響を受けます。
- JVM システム・プロパティーとして replyTo キューを設定します。replyTo キューを
JVM システム・プロパティーとして設定すると、特定の JVM で実行される SOAP over JMS クライアントのすべてがその設定の影響を受けます。
異なる replyTo キューの使用を必要とする複数のクライアントが同じアプリケーション内にある場合は、このプロパティーをプログラマチックに設定することが最良の選択肢です。
注: これらの選択肢のいずれかを使用して永続 replyTo キューを設定する場合、
クライアント・サイドの構成のみが必要になります。Web サービス・プロバイダー側の構成は必要ありません。
プロシージャー
- オプションの replyToDestination プロパティーを
JMS エンドポイント URL で指定します。
jms:/queue?destination=jms/MyRequestQueue&connectionFactory=
jms/MyCF&replyToDestination=jms/MyReplyQueue&targetService=MyService
- replyTo キューを、クライアント JAX-RPC Stub または Call オブジェクトでプログラマチックに設定します。
クライアントは、JAX-RPC Stub または Call オブジェクトを使用して Web サービスを呼び出します。
((javax.xml.rpc.Stub)stub)._setProperty(com.ibm.wsspi.webservices.Consta
nts.JMS_REPLY_QUEUE_JNDI_NAME,
"jms/Permanent_Q");
このプロパティーの値はストリングです。
- JVM システム・プロパティーとして replyTo キューを設定します。
結果
これで、Web サービス・クライアントが永続 replyTo キューへの SOAP/JMS メッセージを受信できるようになりました。