JMS 提供サービスへの WSIF サービスのリンク
JMS プロバイダーを使用すると、WSIF サービスを SOAP over JMS またはネイティブ JMS のいずれかを介して呼び出すことができます。Web サービス記述言語 (WSDL) 拡張機能をご使用の Web サービスの WSDL ファイルに追加して、サービスが JMS プロバイダーを使用できるようにします。
このタスクについて
Java™ Message Service (JMS) は、トランスポート・テクノロジー用の API です。 JMS 宛先へのマッピングは、デプロイメント時に定義され、コンテナーで保守されます。
Web サービス の JMS 宛先エンドポイントは、以下のいずれかの方法で実現できます。
- キューの場合は、Web サービス・実装を JMS 宛先にすることができます。
- JMS 宛先は、EJB コンテナーによってメッセージ駆動型 Bean に関連付けることができ (ただし必須ではない)、それによって、メッセージ駆動型 Bean を Web サービス・実装にすることができます。
- SOAP over JMS の場合、JMS 宛先は JMS メッセージをアンラップして、ステートレス・セッション Bean として実装されている Web サービスに SOAP メッセージをルーティングできます。
JMS 宛先エンドポイントは、クライアントが予想し、WSDL が定義する対話モデルを採用する必要があります。また、必要があれば応答を戻さなければなりません。
JMS 宛先エンドポイントが JMS 応答メッセージを作成する場合、次の規則に従っている必要があります。
- 応答メッセージは、着信要求の JMSReplyTo に送信しなければなりません。
- 応答メッセージの値 JMSCorrelationID は、要求メッセージの JMSMessageID という値に設定しなければなりません。
- 応答は、要求メッセージの値 JMSDeliveryMode と同等の値 deliveryMode で送信しなければなりません。
- 応答は、要求メッセージの値 JMSPriority と同等の値 priority で送信しなければなりません。
- 値 TimeToLive/JMSExpiration は、要求メッセージの値 JMSExpiration と同等の値に設定する必要があります。
クライアントでは、これらのヘッダーはいずれも表示されません。 コンテナーは、JMS メッセージを受信すると、(JMS を介した SOAP の場合) SOAP メッセージを除去してクライアントに送信します。
WSIF サービスを JMS 提供サービスにリンクするには、以下の情報とコードの例を使用します。