Address Book サンプルの実行は、コンシューマー・メッセージ・フローによるメッセージの書き込みか、またはプロバイダー・フローの直接の呼び出しで構成されます。 Address Book サンプルの実行用として、2 つのテスト・クライアントが用意されています。
サンプルを実行する前に、Web サービス・コンシューマーがプロバイダー用に正しく構成されており、JNDI 管理対象オブジェクトが JMS フローを実行するように構成されていることを検証します。 『HTTP を使用するための Address Book サンプルのセットアップ』と『JMS トランスポートを使用するための Address Book サンプルのセットアップ』を参照してください。
サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。
Web サービスが使用するデフォルトのポートは 7800 で、SOAPRequest ノードは、そのポートを使用するようにセットアップされています。ただし、このポートが既に使用されている場合、ポート番号が 1 つ増分します。
以下の mqsireportproperties コマンドを発行して、プロバイダー実行グループがどのポートを使用しているのかを調べます。
mqsireportproperties MB8BROKER -e AddressSampleProvider -o HTTPConnector -n port
Web サービス・コンシューマーが正しく構成されていることを検証するには、以下の手順をすべて行います。 TCP/IP モニターをセットアップした場合は、Web サービス・プロバイダーがどのポートを使用しているかは確認済みですが、それでもメッセージを TCP/IP モニターに送信するようにコンシューマーを構成してから、ブローカー・アーカイブ (BAR) ファイルを作成して再デプロイする必要があります。
SOAPRequest ノードで使用しているポートがプロバイダー・フローを呼び出すための正しいポートであることを検証するには、以下の手順を実行して、SOAPRequest ノードのポートをプロバイダー実行グループで使用しているポートに変更します。
両方の SOAPRequest ノードでこの手順を実行してください。
このサンプルは、SOAP メッセージをインターセプトするために TCP/IP モニターを有効にした状態でもそうでない状態でも実行できます。以下の指示は、両方の場合を扱っています。
JNDI 管理対象オブジェクトが『JMS トランスポートを使用するための Address Book サンプルのセットアップ』で説明されているとおりに作成されていることを確認します。さらに、JNDI プロパティーが SOAPInput ノードと SOAPRequest ノードで設定されていることも確認します。WebSphere MQ Explorer または WebSphere MQ コマンド・コンソールで以下の WebSphere MQ キューが作成されていることも確認してください。
プロバイダー・フローを呼び出すためにコンシューマー・フローを呼び出すには、次のようにします。
このモニターが表示されない場合は、この時点でワークベンチに追加できます。そのためには、「ウィンドウ」>「ビューの表示」>「その他」>「デバッグ」>「TCP/IP モニター」をクリックします。
インバウンドおよびアウトバウンドの SOAP メッセージの内容を調べます。 メッセージを読みやすくするには、「TCP/IP モニター」のメニューを使用して、形式を Byte から XML に変更します。
<SOAP_Domain_Msg> <Body> <NS2:SaveAddressResponse xmlns:NS2="http://addressbook.com/">true<NS2:SaveAddressResponse> <Body> <SOAP_Domain_Msg>
<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 の場合にプロバイダー・フローを直接呼び出すには、以下のようにします。
TCP/IP モニターを有効にし、フローを変更した状態でこのサンプルの実行した場合は、TCP/IP モニターを削除し、フローを元に戻さなければなりません。