enableTransactionalOneWay プロパティーを使用して、業界標準の SOAP over JMS トランスポートを使用した片方向および両方向の非同期 Web サービス要求がトランザクションによって宛先キューまたはトピックに送信されるようにします。
このタスクについて
JMS を使用して Java™ API for XML Web Services (JAX-WS) または Java API for XML-based RPC (JAX-RPC) Web サービス要求をトランスポートする場合、デフォルトの動作では SOAP メッセージが宛先キューまたはトピックに、トランザクションを介さないで、またはクライアント・アプリケーションのトランザクション以外で追加されます。宛先キューまたはトピックへの SOAP メッセージの追加は、両方向の同期 Web サービス要求で発生する可能性がある同期問題を避けるために、トランザクション外で行われます。ただし、片方向および両方向の非同期要求をトランザクションの一部として処理することを選択できます。
enableTransactionalOneWay プロパティーを使用して、JMS トランスポートを使用する片方向および両方向の非同期 Web サービス要求がトランザクションによって宛先キューまたはトピックに送信されるようにすることができます。クライアント・アプリケーションが Web サービス要求を呼び出すと、その結果 SOAP 要求メッセージがクライアント・アプリケーションのトランザクションの一部として宛先キューまたはトピックに追加されます。
以下のいずれかの方法を使用して enableTransactionalOneWay プロパティーを使用可能にします。
手順
- enableTransactionalOneWay プロパティーをプログラムで設定します。 このプロパティーの値はブール値です。
- JAX-WS クライアントの場合、クライアント JAX-WS RequestContext
オブジェクトでプロパティーを設定します。
以下に例を示します。
((BindingProvider) port).getRequestContext().put
(com.ibm.websphere.webservices.Constants.ENABLE_TRAN_ONEWAY,
new Boolean(true));
- JAX-RPC クライアントの場合、クライアント JAX-RPC Stub または
Call オブジェクトでプロパティーを設定します。
以下に例を示します。
stub._setProperty(com.ibm.websphere.webservices.Constants.ENABLE_TRAN_ONEWAY,
new Boolean(true));
- JAX-RPC クライアントの場合、wsadmin コマンドを使用して、
ibm-webservicesclient-bnd.xmi デプロイメント記述子ファイルに
カスタム・プロパティーとして enableTransactionalOneWay プロパティーを設定します。
wsadmin ツール・オプションについて詳しくは、AdminApp オブジェクトの install、installInteractive、edit、editInteractive、update、updateInteractive の各コマンドのオプション情報を参照してください。
$AdminApp オブジェクトと -WebServicesClientCustomProperty オプションを使用して、クライアント・バインディング・ファイル ibm-webservicesclient-bnd.xmi 内にプロパティーの値を設定します。カスタム・プロパティー enableTransactionalOneWay の値は、true または false のいずれかです。
- Jacl を使用:
$AdminApp edit MyApplication {-WebServicesClientCustomProperty
{{MyEJBJar.jar MyEJB service/MyServiceRef MyPort enableTransactionalOneWay
true}}}
- Jython の使用:
AdminApp.edit('MyApplication', ['-WebServicesClientCustomProperty',
[['MyEJBJar.jar', 'MyEJB', 'service/MyServiceRef ', 'MyPort', 'enableTransactionalOneWay',
'true']]])
タスクの結果
Web サービス・クライアント・アプリケーションが、JMS トランスポートを使用してトランザクションによる片方向および両方向の非同期要求を呼び出すように構成されました。
次のタスク
enableTransactionalOneWay プロパティーを使用可能にしてから、クライアント・アプリケーションを実行します。