Address Book サンプルの実行

Address Book サンプルの実行は、コンシューマー・メッセージ・フローによるメッセージの書き込みか、またはプロバイダー・フローの直接の呼び出しで構成されます。 Address Book サンプルの実行用として、2 つのテスト・クライアントが用意されています。

サンプルを実行する前に、Web サービス・コンシューマーがプロバイダー用に正しく構成されており、JNDI 管理対象オブジェクトが JMS フローを実行するように構成されていることを検証します。 『HTTP を使用するための Address Book サンプルのセットアップ』と『JMS トランスポートを使用するための Address Book サンプルのセットアップ』を参照してください。

サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。

プロバイダーにコンシューマー用の正しいポートがあることを検証する

サンプルの実行

プロバイダー・フローを呼び出すためにコンシューマー・フローを呼び出すには、次のようにします。

  1. 「ブローカー開発」ビューで、AddressBook プロジェクトを展開します。
  2. 「フロー・テスト」を展開します。 AddressBookTests.mbtestをダブルクリックして、テスト・クライアントでファイルを開きます。
  3. 最初の「エンキュー」を選択します。 「メッセージの送信」をクリックします。
  4. TCP/IP モニターを使用可能にしていない場合は、このステップをスキップできます。一方、TCP/IP モニターをセットアップして開始している場合は、そのモニターが表示され、プロバイダー・フローとコンシューマー・フローの間でやりとりされた SOAP メッセージが表示されます。

    このモニターが表示されない場合は、この時点でワークベンチに追加できます。そのためには、「ウィンドウ」>「ビューの表示」>「その他」>「デバッグ」>「TCP/IP モニター」をクリックします。

    インバウンドおよびアウトバウンドの SOAP メッセージの内容を調べます。 メッセージを読みやすくするには、「TCP/IP モニター」のメニューを使用して、形式を Byte から XML に変更します。

  5. 最初の「デキュー」を選択します。 「メッセージの取得」をクリックします。これで、SOAPRequest ノードからの HTTP 応答と XML メッセージの両方が表示されます。表示される応答は、以下のとおりです。
    	<SOAP_Domain_Msg>
    	<Body>
    	<NS2:SaveAddressResponse xmlns:NS2="http://addressbook.com/">true<NS2:SaveAddressResponse>
    	<Body>
    	<SOAP_Domain_Msg>
    	
  6. 2 番目の 「エンキュー」を選択して、「メッセージの送信」をクリックします。
  7. TCP/IP モニターを有効にしていない場合は、この手順をスキップできます。TCP/IP モニターを使用可能にしている場合は、「TCP/IP モニター」を調べて、SOAP メッセージが送信済みであることを確認します。
  8. 2 番目の「デキュー」を選択し、「メッセージの取得」をクリックします。 これで、SOAPRequest ノードからの HTTP 応答と XML メッセージが表示されます。生成される応答は、以下のとおりです。
    	<SOAP_Domain_Msg>
    	<Body>
    	<NS2:Address xmlns:NS2="http://addressbook.com/">
    	<NS2:City>Carlisle</NS2:City>
    	<NS2:Street>Welton</NS2:Street>
    	<NS2:Province>Cumbria</NS2:Province>
    	<NS2:PostalCode>NE2 3HP</NS2:PostalCode>
    	<NS2:PhoneNumber>
    	<NS2:Area>1</NS2:Area>
    	<NS2:Prefix>2</NS2:Prefix>
    	<NS2:Local>3</NS2:Local>
    	</NS2:PhoneNumber>
    	</NS2:Address>
    	<Body>
    	<SOAP_Domain_Msg>
    	

SOAP over HTTP の場合にプロバイダー・フローを直接呼び出すには、以下のようにします。

  1. 「ブローカー開発」ビューで、AddressBook プロジェクトを展開します。
  2. 「フロー・テスト」を展開します。 AddressBookProviderTest.mbtestをダブルクリックして、テスト・クライアントでファイルを開きます。
  3. 「メッセージの送信」をクリックします。
  4. 「デプロイメントのロケーション」ウィンドウで、AddressSampleProvider 実行グループを選択します。 「終了」をクリックします。選択した実行グループにメッセージ・フローがデプロイされ、テスト・メッセージが送信されます。 応答を受信すると、以下の出力が生成されます。

    最初のメッセージ・フローの内容を示す図。

  5. 保存したばかりの住所を検索するためにフローをもう一度呼び出す前に、テスト・クライアントがフローを再デプロイしないようにする必要があります。フローが再デプロイされると、住所録で使用されている ESQL 共有変数のすべてのデータが破棄されます。テスト・クライアントがフローを再デプロイしないようにするには、そのテスト・クライアントの「構成」タブを選択し、左側のペインで「デプロイメント」を選択します。 「指定したブローカー・アーカイブを手動でデプロイする」を選択します。 変更を保存する BAR ファイルの名前を入力します。「イベント」タブに移動します。
  6. 2 番目の 「メッセージ・フローの起動」を選択して、「メッセージの送信」クリックします。 必要があれば、AddressSampleProvider 実行グループを選択します。「終了」をクリックします。
  7. 応答を、コンシューマーからの出力と比較します。 応答を受信すると、以下の出力が生成されます。

    2 番目のメッセージ・フローの内容を示す図。

TCP/IP モニターを有効にし、フローを変更した状態でこのサンプルの実行した場合は、TCP/IP モニターを削除し、フローを元に戻さなければなりません。

  1. ワークベンチで、「ウィンドウ」>「設定」>「実行/デバッグ」>「TCP/IP モニター」をクリックします。
  2. TCP/IP モニターを強調表示し、「除去」をクリックしてから「OK」をクリックします。
  3. TCP/IP モニターと対話できるように AddressBookConsumerFlow を更新したので、現時点の要件に応じて、変更したフローをそのままにしておくか、元に戻すかを選択できます。変更を元に戻す場合は、上記の手順と同じ手順を実行しますが、両方の SOAPRequest ノードで HTTP ポートを 5555 から 7800 に戻してから、再ビルドと再デプロイを実行します。

サンプルのホームに戻る