此範例實務會呼叫 Synch OrderStatus Service Web 服務。
執行範例情況之前,請先檢閱其資料流程的步驟流程表。
- 在某個「測試連接器」實例中執行的應用程式 SampleSAP 中,
產生一個 CLIENT_SYNCH_TLO_OrderStatus.Retrieve 事件。
- 該事件從 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 的端點 (Destination)。
端點是由 Protocol Config MO 的 Destination 屬性來提供。
連接器所使用的 Protocol Config MO,需視 CLIENT_SYNCH_TLO_OrderStatus 的 Handler 屬性值而定。
若設為 soap/http,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 服務」連接器是目標端點。
在該端點 (之前要求被傳送到這個端點) 上接聽之連接器的通訊協定接聽器會接收 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 InterChange Server 中執行的 SERVICE_SYNCH_OrderStatus_Collab 協同作業。由於這是同步的執行作業,所以「Web 服務」連接器會維持暫停執行的狀態,直到協同作業執行並傳回回應。
- SERVICE_SYNCH_OrderStatus_Collab 接收 SERVICE_TLO_OrderStatus 物件。
然後協同作業會將商業物件傳送到應用程式 SampleSiebel,
該應用程式是當作「測試連接器」的第二個實例來執行。
- 若您從 SampleSiebel 應用程式選取 Reply Success,
就會將事件傳回 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 協同作業。
17. 然後 CLIENT_SYNCH_OrderStatus_Collab 將 CLIENT_SYNCH_OrderStatus_TLO 傳送到 SampleSAP 應用程式 (此應用程式是當作「測試連接器」的第一個實例來執行)。
「測試連接器」會顯示這個物件。
執行同步範例實務:
- 如果尚未執行,請啟動 InterChange Server 整合分配管理系統。
- 啟動「Web 服務」連接器。
- 啟動兩個「測試連接器」實例。
- 使用「測試連接器」,定義 SampleSAPConnector 及 SampleSiebelConnector 的設定檔。
- 在各個「測試連接器」中選取 FILE』CONNECT AGENT,開始模擬代理程式。
- 使用「測試連接器」模擬 SampleSAPConnector 時,請從功能表中選取 EDIT』LOAD BO。請載入下列檔案:
WBI_folder\connectors\WebServices\samples\WebSphereICS\OrderStatus
\CLIENT_SYNCH_TLO_OrderStatus.bo
「測試連接器」應該會顯示 CLIENT_SYNCH_TLO_OrderStatus 已載入。
- 驗證 Web 服務端點位址:
- 若是 SOAP/HTTP Web 服務如果您想要使用 SOAP/HTTP:
- 請確定您已為 SOAP/HTTP 配置「Web 服務」連接器。
在您的「測試連接器」中,確定 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:
- 請確定您已為 SOAP/HTTPS 配置「Web 服務」連接器。
在您的「測試連接器」中,確定 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:
- 請確定您已為 SOAP/JMS 配置「Web 服務」連接器。
在您的「測試連接器」中,確定 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。
此值中不允許使用引號。
- 在以「測試連接器」來模擬 SampleSAPConnector 時,
請按一下所載入的測試 BO。
從功能表選取要求』傳送。
請參閱本節前面的逐步概要說明,以取得有關資料流程的詳細資料。
- 模擬 SampleSiebelConnector 之「測試連接器」實例的右邊畫面中,
會顯示標示為 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 錯誤訊息中以傳送的所有其他詳細資料。
輸入完此錯誤的所有值之後,關閉此視窗。
- 選取 REQUEST』REPLY』SUCCESS。
模擬 SampleSAPConnector 之「測試連接器」的右邊畫面中,
會顯示標示為 SERVICE_SYNCH_TLO_OrderStatus.Retrieve 的事件。
- 按兩下 SERVICE_SYNCH_TLO_OrderStatus.Retrieve 商業物件,
就會在視窗中顯示該商業物件。
- 如果您的 SampleSiebelConnector 傳回順序狀態,
應該會看到商業物件的 Response 屬性已移入資料。
展開 Response 屬性,以驗證順序狀態。
- 如果您的 SampleSiebelConnector 傳回錯誤,應該會看到商業物件的 Fault 屬性已移入資料。
展開 Fault 屬性,以判斷錯誤。
- 一旦檢查完商業物件之後,請關閉視窗。
選取 REQUEST 』REPLY』 SUCCESS。
如此便完成執行同步範例實務。
