JMS トランスポートを使用するための SOAP ノード・サンプルのセットアップ

始める前に:

サンプルを Linux 上で実行する場合、以下の手順を実行する必要があります。

  1. 以下のファイルをクラスパスに追加することにより、クラスパスに JMSAdmin クラスを追加します。
    >mq_install_directory</java/lib/com.ibm.mqjms.jar
  2. 以下のコードをクラスパスに含めることにより、PATH 変数に Java の場所を追加します。
    >JAVA_HOME</bin

JMSAdmin の使用による管理対象オブジェクトの作成

以下の手順では、WebSphere MQ が mq_install_dir のディレクトリーにインストールされていることを想定しています。 JMSAdmin ツールと JMSAdmin 構成ファイルは、以下の場所にあります。

SOAP ノードのサンプル・フロー・プロジェクトでは、SOAPJMSSample.defs ファイルを JMSAdmin ツールと共に使用する必要があります。

JMSAdmin ツールを使用する前に、JMSAdmin.config ファイルを変更する必要があります。

JMSAdmin.config ファイルの変更

JMSAdmin.config ファイルを変更するには、次のようにします。

  1. テキスト・エディターで JMSAdmin.config ファイルを開きます。
  2. 必要ではないオプションをコメント化するには、番号記号 (#) を追加します。 オプションのコメントを外す場合は、番号記号 (#) を削除してください。
    #  The following line specifies which JNDI service provider is in use.
    #  It currently indicates a File System Context. If a different
    #  service provider is used, this line must be commented out, and the
    #  appropriate one must be uncommented.
    #
    #  com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
    #
    #INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
    #INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
    #
    #  The following line specifies the URL of the initial context
    #  for the service provider. It currently refers to a File System Context. 
    #  Examples of an LDAP root context URL and the JNDI namespace for WebSphere 
    #  are also shown, commented out.
    #
    	#PROVIDER_URL=ldap://localhost/o=ibm,c=us
    	PROVIDER_URL=file:/C:/SOAPJNDIBindings
    	#PROVIDER_URL=iiop://localhost/	
    	
  3. PROVIDER_URL が /C:/SOAPJNDIBindings (Linux の場合はこれに相当する場所) に設定されていること、また INITIAL_CONTEXT_FACTORY が com.sun.jndi.fscontext.RefFSContextFactory に設定されていることを確認します。
  4. ファイルを保存します。

これで、オブジェクトを作成できます。

オブジェクトの作成

サンプルで使用する JMS 接続ファクトリーと宛先を構成するには、WebSphere MQ JMSAdmin ツールを実行して JNDI 管理対象オブジェクトを作成します。

SOAPJMSSample.defs ファイルを入力として使用して JMSAdmin ツールを実行することにより、オブジェクトを作成します。

コマンド行に、以下のコマンドを入力します。

mq_install_dir は、WebSphere MQ がインストールされている場所であり、workspace_path は、WebSphere Message Broker Toolkit ワークスペース・ディレクトリーの絶対パスです。

それらのオブジェクトと .bindings ファイルが作成されます。

JMS を使用するための SOAP ノードの構成

  1. メッセージ・フロー・エディターで SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow メッセージ・フローを開きます。
  2. メッセージ・フローの SOAPInput ノードを右クリックし、「プロパティー」をクリックして、「プロパティー」ビューを表示します。
  3. 「プロパティー」ビューで「基本」タブを選択します。
  4. 「インポートされたバインディング」フィールドの値は OrderServiceSOAP に、「トランスポート」プロパティーの値は HTTP に設定されます。 Imported binding の値を OrderServiceSOAPJMSBinding に変更します。 「トランスポート」プロパティーの値が JMS に変わります。
  5. メッセージ・フロー・エディターで SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow メッセージ・フローを開き、前述の手順を使用することにより、SOAPRequest ノードの「インポートされたバインディング」フィールドを構成します。

メッセージ・フロー内の JNDI パスの構成

SOAP ノードで .bindings ファイルの場所を構成する操作

  1. メッセージ・フロー・エディターで SOAPNodesSampleFlows.SOAPNodesSampleProviderFlow メッセージ・フローを開きます。
  2. メッセージ・フローの SOAPInput ノードを右クリックし、「プロパティー」をクリックして、「プロパティー」ビューを表示します。
  3. 「プロパティー」ビューで「JMS トランスポート」タブを選択します。
  4. 「ロケーション JNDI URL バインディング」フィールドに、JMSAdmin.config ファイルの PROVIDER_URL 行に指定したパスを入力します。
  5. ノード・プロパティーに入力したパスが JMSAdmin.config ファイル内のパスと一致していることを確認してください。 これら 2 つのパスが一致していないとメッセージ・フローは機能しません。
  6. メッセージ・フローを保存します。
  7. メッセージ・フロー・エディターで SOAPNodesSampleFlows.SOAPNodesSampleConsumerFlow メッセージ・フローを開き、上記の手順に従って SOAPRequest ノードで .bindings ファイルの位置を構成します。
  8. これでメッセージ・フローが構成され、ブローカーにデプロイする準備ができました。

BAR ファイルの再ビルドおよびメッセージ・フローのデプロイ

変更後の SOAPNodesSampleConsumer フローと SOAPNodesSampleProvider フローをデプロイするために、両方のメッセージ・フローを組み込んだブローカー・アーカイブ (BAR) ファイルを再ビルドします。

BAR ファイルをビルドするには、次のようにします。

  1. SOAPNodesSampleFlows.SOAPNodesSampleBAR.bar BAR ファイルをダブルクリックします。
  2. 「管理」タブで「ビルド」をクリックして、BAR ファイルを再ビルドします。
  3. ビルドされた BAR ファイルを保存します。
  4. BAR ファイルをクリックし、「ブローカー」ビュー内のデフォルトの実行グループにドラッグします。この操作により、フローがブローカーにデプロイされます。

これでサンプルを実行できるようになりました。SOAP ノード・サンプルの実行を参照してください。クライアント・フローは WebSphere MQ キューによって駆動されるため、同じフロー・テストを使用することができます。

サンプルのホームに戻る