コネクターおよび JMS

注:
このセクションでは、JMS および JNDI、特に JMS の動作について十分に理解していることを前提としています。詳しくは JMS および JNDI ソースの資料を参照してください。

コネクターは、コラボレーションを SOAP/JMS Web サービスとして公開し、コラボレーションから SOAP/JMS Web サービスを呼び出すことができるようにします。Web サービス・コネクターで SOAP/JMS を使用するための要件は以下のとおりです。

  1. JMS サービス・プロバイダーをインストールおよび構成済みである。
  2. JNDI をインストールおよび構成済みである。
  3. JMS プロバイダーが JMS API バージョン 1.0.2 をサポートしている。
  4. 必要なすべての jar ファイルがコネクターのクラスパスにある。(必要なすべての jar ファイルを判別するには JMS プロバイダーの資料を参照してください。)
  5. 必要なすべてのライブラリーがコネクターのパスにある。(必要なすべてのライブラリーを判別するには JMS プロバイダーの資料を参照してください。)

JNDI

SOAP/JMS の場合、コネクターは、JNDI を使用して JNDI コンテキストにより接続ファクトリーを検索します。コネクターは、初期化中にコネクター固有の JNDI プロパティーを読み取り JNDI に接続します。JNDI プロパティーを構成しなければ、SOAP/JMS は使用できません。コネクター固有の JNDI プロパティーとして、以下のプロパティーを指定することができます。

これらのプロパティーを指定する方法については JNDI の資料を参照してください。コネクターで SOAP/JMS を使用するには、以下のコネクター固有の JNDI プロパティーが必要になります。

LookupQueuesUsingJNDI を true に設定した場合、コネクターで使用されるキューはすべて JNDI を使用して検索できることを確認してください。

SOAP/JMS Web サービスとしてのコラボレーションの公開

コラボレーションを SOAP/JMS Web サービスとして公開するには、SOAP/JMS プロトコル・リスナーを使用しなければなりません。SOAP/JMS プロトコル・リスナーを使用するには、JNDI コネクター・プロパティーを指定する必要があります。

JMS プロバイダー構成では、SOAP/JMS プロトコル・リスナーの要求を反映する必要があります。SOAP/JMS プロトコル・リスナーで必要なキューはすべて、JMS サービス・プロバイダーで定義されることを確認してください。キュー定義の作業はプロバイダーによって異なるので、JMS プロバイダーの資料で確認してください。SOAP/JMS プロトコル・リスナーには 6 つのキューを定義する必要があります。SOAP/JMS リスナー構成プロパティーにキュー名を設定する必要があり、
JNDI " LookupQueuesUsingJNDI を true に設定している場合は、SOAP/JMS リスナー構成プロパティーにキューの JNDI 名も指定する必要があります。

以下の SOAP/JMS リスナー構成プロパティーの値としてキュー名を指定する必要があります。

InputQueue および InProgressQueue は必要なプロパティーです。これらのキューが正しく構成されていることを確認してください。

ArchiveQueue、UnsubscribedQueue および ErrorQueue はオプションのプロパティーです。これらのキューは、Web サービス要求を保存する場合に使用します。これらのプロパティーのいずれかを使用する場合は、対応する JMS キューが正しく構成されていることを確認してください。JMS プロバイダーでこれらのキューを定義する場合は、これらのキューの容量の指定は慎重に行う必要があります。

SOAP/JMS Web サービスを呼び出すコラボレーション

コラボレーションで SOAP/JMS Web サービスを呼び出せるようにするには、SOAP/JMS プロトコル・ハンドラーを使用します。SOAP/JMS プロトコル・ハンドラーを使用するには、JNDI コネクター・プロパティーを指定する必要があります。Web サービス・プロバイダーと連動させて、JMS および JNDI 要件を決定します。

SOAP/JMS Web サービスを呼び出すには、コネクターで、ターゲット Web サービスの入力キューに SOAP/JMS プロトコル構成 MO の Destination 属性の値を設定する必要があります。JNDI " LookupQueuesUsingJNDI を true に設定している場合は、入力キューの JNDI 名を指定する必要があります。

要求/応答 Web サービスを呼び出す場合は、Web サービス・プロバイダーと連動させて、ReplyTo キューの要件を決定する必要があります。ReplyTo キューが定義されていることを確認してください。SOAP/JMS プロトコル・ハンドラーの ReplyToQueue 構成プロパティーに ReplyTo キューの名前を指定していることも確認してください。JNDI " LookupQueuesUsingJNDI が true に設定されている場合、ReplyToQueue 構成プロパティーの値には、このキューの JNDI 名を指定する必要があります。

プロトコル・ハンドラーは、プロトコル・リスナーとは異なり、Web サービス・コネクターにプラグ可能ではないので注意しておくことが大切です。そのためコネクターは、それが呼び出すすべての要求/応答 Web サービスに同じ ReplyTo キューを使用することになります。

Copyright IBM Corp. 2004, 2005