このシナリオでは、Synch OrderStatus Service Web サービスを呼び出します。シナリオを実行する前に、シナリオに関するデータの流れを段階を追って説明します。
- CLIENT_SYNCH_TLO_OrderStatus.Retrieve イベントが、Test Connector の 1 つのインスタンスで動作する SampleSAP という名前のアプリケーションで発生します。
- イベントが SampleSAP から CLIENT_SYNCH_OrderStatus_Collab という名前のコラボレーションに送信されます。
- 続いて、イベントがコラボレーションから Web サービス・コネクターに送信されます。
- Web サービス・コネクターが、CLIENT_SYNCH_TLO_OrderStatus オブジェクトの子である CLIENT_SYNCH_OrderStatus_Request オブジェクトを検出します。
- Web サービス・コネクターが、SOAP データ・ハンドラーを呼び出して、CLIENT_SYNCH_OrderStatus_Request ビジネス・オブジェクトを SOAP メッセージに変換します。
- Web サービス・コネクターが、SOAP メッセージを Web サービス Synch OrderStatus Service のエンドポイント (宛先) に送信します。エンドポイントは、プロトコル構成メタオブジェクト (MO) の
Destination 属性によって指定されます。コネクターが使用するプロトコル構成 MO は、CLIENT_SYNCH_TLO_OrderStatus の Handler 属性の値によって決まります。この属性の値が soap/http または soap/https に設定されている場合は、CLIENT_SYNCH_OrderStatus_Request_SOAP_HTTP_CfgMO の Destination 属性はエンドポイントを Web サービスの URL として指定します。また、Handler 属性が
soap/jms に設定されている場合は、CLIENT_SYNCH_OrderStatus_Request_SOAP_JMS_CfgMO の Destination 属性はエンドポイントを Web サービスの宛先キュー名として指定します。
- Web サービス Synch OrderStatus Service が SOAP 要求を受信します。前述のように、Web サービス・コネクターは宛先エンドポイントになります。要求の送信先であるエンドポイントで listen しているコネクターのプロトコル・リスナーが SOAP メッセージを受信します。
- コネクターが SOAP メッセージによって SOAP データ・ハンドラーを呼び出します。SOAP データ・ハンドラーによって SOAP メッセージが SERVICE_SYNCH_OrderStatus_Request オブジェクトに変換されます。次に、Web サービス・コネクターが SERVICE_TLO_OrderStatus オブジェクトを作成します。SERVICE_SYNCH_OrderStatus_Request オブジェクトは SERVICE_TLO_OrderStatus オブジェクトの子として設定されます。
- 次に、Web サービス・コネクターが SERVICE_TLO_OrderStatus オブジェクトを WebSphere Business Integration Server
Express and Express Plus で実行中の SERVICE_SYNCH_OrderStatus_Collab コラボレーションに同期的に通知します。これは同期実行であるため、コラボレーションが実行されて応答が戻るまで、Web サービス・コネクターはブロックされたままになります。
- SERVICE_SYNCH_OrderStatus_Collab が SERVICE_TLO_OrderStatus オブジェクトを受信します。次に、コラボレーションがビジネス・オブジェクトを Test Connector の 2 番目のインスタンスとして実行中の SampleSiebel というアプリケーションに送信します。
- SampleSiebel アプリケーションから「正常に応答」を選択すると、イベントが SERVICE_SYNCH_OrderStatus_Collab コラボレーションに戻されます。
- SERVICE_SYNCH_OrderStatus_Collab が SERVICE_TLO_OrderStatus オブジェクトを受信します。次に、コラボレーションがビジネス・オブジェクトを Web サービス・コネクターに送信します。
- Web サービス・コネクターが、SERVICE_SYNCH_OrderStatus_TLO の子である SERVICE_SYNCH_OrderStatus_Response ビジネス・オブジェクト (あるいは、SERVICE_SYNCH_OrderStatus_Fault が取り込まれている場合はこのオブジェクト) を検出します。このビジネス・オブジェクトは、SOAP データ・ハンドラーによって SOAP 応答メッセージ (または SOAP 障害メッセージ) に変換されます。
- Web サービス・コネクターが SOAP 応答メッセージ (または SOAP 障害メッセージ) を Web サービス・クライアントに戻します。
- Web サービス・クライアント (この場合はコネクター) が応答を受信します。コネクターが応答メッセージによって SOAP データ・ハンドラーを呼び出します。
- SOAP データ・ハンドラーが応答メッセージを CLIENT_SYNCH_OrderStatus_Response ビジネス・オブジェクトまたは CLIENT_SYNCH_OrderStatus_Fault ビジネス・オブジェクトに変換します。どちらのビジネス・オブジェクトに変換されるかは、Order
Synch Service によって戻されるものによって決まります。Web サービス・コネクターがこのオブジェクトを CLIENT_SYNCH_OrderStatus_TLO の子として設定します。CLIENT_SYNCH_OrderStatus_TLO が CLIENT_SYNCH_OrderStatus_Collab コラボレーションに戻されます。
次に、CLIENT_SYNCH_OrderStatus_Collab が CLIENT_SYNCH_OrderStatus_TLO を Test Connector の 1 番目のインスタンスとして実行中の SampleSAP というアプリケーションに送信します。Test Connector がこのオブジェクトを表示します。
同期シナリオを実行するには、以下の手順を実行します。
- InterChange Server Express 統合ブローカーがまだ稼働していない場合は始動します。
- Web サービス・コネクターを始動します。
- Test Connector の 2 つのインスタンスを開始します。
- Test Connector を使用して、SampleSAPConnector および SampleSiebelConnector のプロファイルを定義します。
- エージェントのシミュレートを開始するため、それぞれの「Test Connector」メニューから「ファイル」"「エージェントの接続」を選択します。
- Test Connector を使用して SampleSAPConnector をシミュレートしながら、メニューから「編集」" 「ビジネス・オブジェクトのロード」を選択します。以下のファイルをロードします。
WBI_folder¥connectors¥WebServices¥samples¥WebSphereICS¥OrderStatus
¥CLIENT_SYNCH_TLO_OrderStatus.bo
Test Connector は CLIENT_SYNCH_TLO_OrderStatus がロードされたというメッセージを表示します。
- Web サービスのエンドポイント・アドレスを確認します。
- SOAP/HTTP Web サービスの場合 SOAP/HTTP を使用する場合は、以下の作業を実行します。
- Web サービス・コネクターを SOAP/HTTP 用に構成済みであることを確認します。Test Connector で、CLIENT_SYNCH_TLO_OrderStatus ビジネス・オブジェクトの Handler 属性の値が soap/http に設定されていることを確認します。この値に引用符を含めることはできません。
- CLIENT_SYNCH_TLO_OrderStatus の Request 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus ビジネス・オブジェクトです。
- CLIENT_SYNCH_OrderStatus の SOAPHTTPCfgMO 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus_SOAP_HTTP_CfgMO です。
- CLIENT_SYNCH_OrderStatus_SOAP_HTTP_CfgMO の Destination 属性の値が http://localhost:8080/wbia/webservices/samples に設定されていることを確認します。この値に引用符を含めることはできません。
- SOAP/HTTPS Web サービスの場合 SOAP/HTTPS を使用する場合は、以下の作業を実行します。
- Web サービス・コネクターを SOAP/HTTPS 用に構成済みであることを確認します。Test Connector で、CLIENT_SYNCH_TLO_OrderStatus ビジネス・オブジェクトの Handler 属性の値が soap/http に設定されていることを確認します。この値に引用符を含めることはできません。
- CLIENT_SYNCH_TLO_OrderStatus の Request 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus ビジネス・オブジェクトです。
- CLIENT_SYNCH_OrderStatus の SOAPHTTPCfgMO 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus_SOAP_HTTP_CfgMO です。
- CLIENT_SYNCH_OrderStatus_SOAP_HTTP_CfgMO の Destination 属性の値が https://localhost:8443/wbia/webservices/samples に設定されていることを確認します。この値に引用符を含めることはできません。
- SOAP/JMS Web サービスの場合 SOAP/JMS を使用する場合は、以下の作業を実行します。
- Web サービス・コネクターを SOAP/JMS 用に構成済みであることを確認します。Test Connector で、CLIENT_SYNCH_TLO_OrderStatus ビジネス・オブジェクトの Handler 属性の値が soap/jms に設定されていることを確認します。この値に引用符を含めることはできません。
- CLIENT_SYNCH_TLO_OrderStatus の Request 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus ビジネス・オブジェクトです。
- CLIENT_SYNCH_OrderStatus の SOAPJMSCfgMO 属性を展開します。この属性のタイプは CLIENT_SYNCH_OrderStatus_SOAP_JMS_CfgMO です。
- CLIENT_SYNCH_OrderStatus_SOAP_JMS_CfgMO の Destination 属性の値が ORDER_INPUT に設定されていることを確認します。この値に引用符を含めることはできません。
- Test Connector を使用して SampleSAPConnector をシミュレートしながら、ロードしたテスト・ビジネス・オブジェクトをクリックします。メニューから「要求」"「送信」を選択します。データの流れについての詳細は、このセクションで前述した段階的な説明を参照してください。
- SampleSiebelConnector をシミュレートしている Test Connector インスタンスの右パネルに、SERVICE_SYNCH_TLO_OrderStatus.Retrieve というラベルの付いたイベントが表示されます。ビジネス・オブジェクトをダブルクリックしてウィンドウに表示します。
- ビジネス・オブジェクトの Request 属性を展開します。Request 属性のタイプは SERVICE_SYNCH_OrderStatus_Request です。SERVICE_ASYNCH_Order の属性 OrderId をインスペクションして、状況が必要なオーダーであることを確認します。
- オーダーの状況がわかっている場合は、以下の手順を実行します。
- SERVICE_SYNCH_TLO_OrderStatus の Response 属性をクリックします。Response 属性のタイプは CLIENT_SYNCH_OrderStatus_Response です。
- Response 属性を右マウス・ボタンでクリックします。
- 「インスタンスを追加」オプションをクリックします。CLIENT_SYNCH_OrderStatus_Response ビジネス・オブジェクトの新規インスタンスが作成されます。
- OrderId、CustomerId に値を入力します。さらに、このオーダーについてわかっているその他の詳細すべてに値を入力します。このオーダーの詳細をすべて入力したら、このウィンドウを閉じます。
- オーダーの状況がわからない場合は、以下の手順を実行します。
- SERVICE_SYNCH_TLO_OrderStatus の Fault 属性をクリックします。Fault 属性のタイプは CLIENT_SYNCH_OrderStatus_Fault です。
- Fault 属性を右マウス・ボタンでクリックします。
- 「インスタンスを追加」オプションをクリックします。CLIENT_SYNCH_OrderStatus_Fault の新規インスタンスが作成されます。
- faultcode、faultstring、および SOAP 障害メッセージで送信するその他の詳細すべてに値を入力します。この障害の値をすべて入力したら、このウィンドウを閉じます。
- 「要求」"「返信」"「成功」を選択します。SampleSAPConnector をシミュレートしている Test Connector の右パネルに、SERVICE_SYNCH_TLO_OrderStatus.Retrieve というラベルの付いたイベントが表示されます。
- SERVICE_SYNCH_TLO_OrderStatus.Retrieve ビジネス・オブジェクトをダブルクリックします。ダブルクリックすると、ビジネス・オブジェクトがウィンドウに表示されます。
- SampleSiebelConnector によってオーダーの状況が戻された場合は、取り込まれたビジネス・オブジェクトの Response 属性が表示されます。Response 属性を展開してオーダーの状況を確認します。
- SampleSiebelConnector によって障害が戻された場合は、取り込まれたビジネス・オブジェクトの Fault 属性が表示されます。Fault 属性を展開して障害を判別します。
- ビジネス・オブジェクトのインスペクションが完了したら、ウィンドウを閉じます。「要求」"「返信」"「成功」を選択します。
これにより、同期シナリオの実行が完了します。
