WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 作業系統: AIX, HP-UX, Linux, Solaris, Windows

調解基本元素概觀

調解基本元素接受當成「服務訊息物件 (SMO)」處理的訊息。

簡介

所有調解基本元素都有一個可連接來接受訊息的輸入端。

大部分調解基本元素都有一或多個可連接來傳送訊息的輸出端。 不過,「停止」和「失敗」調解基本元素都沒有輸出端。 輸出端可用於兩種流程:失敗流程和成功流程。 根據調解基本元素的不同,最多有一個失敗端。 成功輸出端的數目也會視調解基本元素而定。 某些調解基本元素沒有成功輸出的端點,其他則有一或多個端點。

如果處理輸入訊息期間發生異常狀況, 則失敗端會傳送原始訊息,以及任何異常狀況資訊。

如果未連接調解基本元素的輸出端,則 WebSphere Integration Developer 會產生警告。在執行時期, 未連接的輸出端會停止流程中的這個路徑而不會產生異常狀況,且會耗用訊息。如果您要停止流程的路徑而不要產生異常狀況, 您可以將輸出端連接到「停止」調解基本元素。

SMO

調解基本元素會將訊息當成「服務訊息物件 (SMO)」處理。SMO 提供了處理及操作服務之間交換訊息的抽象層。

所有 SMO 都有相同的基本結構。該結構是由稱為 ServiceMessageObject 的根資料物件所組成,包含代表標頭、主體和環境定義資料的其他資料物件。
  • SMO 標頭包含與訊息相關聯的資訊。比方說,如果訊息已使用 JMS API 加以傳送,則會有「Java 訊息服務」(JMS) 標頭。
  • SMO 主體包含訊息有效負載。這項有效負載是服務端點之間交換的應用程式資料。
  • SMO 環境定義可以包含相互關係環境定義和暫時性環境定義。 相互關係環境定義和暫時性環境定義兩者都允許不屬於訊息有效負載的資料, 在調解基本元素之間傳遞。不過,相互關係環境定義可以鏈結特定的要求訊息及其回應, 而暫時性環境定義則限制在單一訊息流程中。暫時性環境定義無法鏈結要求和回應。

當建立調解流程時,WebSphere Integration Developer 工具會指定每一個端點(輸入、輸出或失敗)的訊息主體類型。該工具會選擇性地指定環境定義資訊的類型。 執行時期產品會使用這項資訊,將訊息轉換成指定類型的 SMO 物件。

SMO 模型是使用 SDO(服務資料物件)DataObjects 來表示訊息的型樣。SMO 提供了一個介面,可用來存取及修改訊息標頭和訊息有效負載。SMO 可以表示許多不同訊息類型的邏輯內容。

XPath

許多調解基本元素都有稱為「根」(Root) 的內容,包含一個 XPath 1.0 表示式。該 XPath 表示式代表現行調解的根。通常,您可以指定 //body/headers 或您自己的 XPath 表示式。/ 表示完整的 SMO,/body 表示 SMO 的主體區段,而 /headers 表示 SMO 的標頭。如果指定您自己的 XPath 表示式, 則會處理您指定的 SMO 部分。

WebSphere Integration Developer 會顯示訊息的結構,且可讓您選取訊息內的位置。以這種方式,您可以導覽訊息的結構, 並建立 XPath 表示式。

WebSphere Integration Developer 不允許「根」(Root) 是空值。

異常狀況

如果調解基本元素偵測到配置問題或暫時性外部資源失敗, 則會擲出 MediationConfigurationException。比方說,如果找不到資料庫。

如果有商業錯誤,調解基本元素會擲出 MediationBusinessException。比方說,如果有個索引鍵應該在訊息中,但找不到。

如果設定調解流程時發生問題,調解執行時期會擲出 MediationRuntimeException。


Concept topic

使用條款 | 此頁的評等

時間戳記前次更新: 6 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wbit.help.medprim.doc.nl1_6.0.1\concepts\cwesb_overviewmediationprimitives.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)