共用方式為


執行 BizTalk 失敗訊息路由 ESB 處理範例

Microsoft BizTalk 失敗的訊息路由 ESB 處理範例示範如何使用 Microsoft BizTalk ESB 工具組例外狀況管理架構作為管理、序列化及轉譯BizTalk Server中所有條件中發生的例外狀況的通用機制。 這包括 BizTalk 失敗訊息路由機制所產生的例外狀況,以及例外狀況管理架構從協調流程中產生的錯誤訊息。

BizTalk 失敗訊息路由機制是BizTalk Server的錯誤處理功能;藉由使用它,設計工具可以將傳訊失敗的自動化處理指定為傳統 (現在預設) 將失敗訊息放在「暫止」佇列中的行為。 此自動化處理會將錯誤訊息路由傳送至任何訂閱路由目的地,例如傳送埠或協調流程。 錯誤訊息是原始訊息的複製品,其中所有先前升級的屬性已降級,以及與升級至訊息內容之特定傳訊失敗相關的選取屬性。

若要在接收埠或傳送埠上啟用 BizTalk 失敗訊息路由機制,請選取 [ 啟用失敗訊息的路由 ] 核取方塊,如圖 1 所示。

已啟用路由

圖 1

啟用 BizTalk 失敗的訊息路由機制

不過,協調流程中發生的錯誤或失敗沒有類似的機制。 相反地,協調流程例外狀況處理常式內的程式碼可以利用例外狀況管理架構 API 來模擬 BizTalk 失敗訊息路由機制的功能。

在此範例中,名為 EAIProcess.RequestPort_FILE 的接收位置會挑選複製到 \Source\Samples\Exception Handling\Test\Filedrop\EAIProcess.RequestPort 位置的檔案。

此外,還有一個名為 ALL 的一般傳送埠。Exceptions_FILE設定為使用安裝為例外狀況管理架構一部分的 GlobalFaultProcessor 管線。 此埠訂閱系統中發生的所有例外狀況,BizTalk 失敗的訊息路由訊息和 ESB 錯誤訊息,如圖 2 所示。

傳送埠

圖 2

ALL。例外狀況會傳送所有類型的失敗或例外狀況的埠訂用帳戶

例外狀況管理架構會將所有例外狀況正規化為單一格式,並使用 Microsoft InfoPath 處理指示將其序列化為位置 \Source\Samples\Exception Processing\Test\Filedrop\All_Exceptions。

安裝

所有例外狀況管理範例都會使用相同的核心服務和 BizTalk 應用程式成品集。 因此,您只需要安裝例外狀況管理範例成品一次,才能執行所有例外狀況管理範例。 如需如何安裝例外狀況管理範例的資訊,請參閱 安裝例外狀況管理範例

執行範例應用程式

若要執行 BizTalk 失敗的訊息路由 ESB 處理範例

  1. 第一次執行此範例之前,請確定接收位置,並將埠 URL 指向 \Source\Samples\Exception Handling\Test\Filedrop 資料夾中的適當目錄。 接收位置應該指定資料夾 EAIProcess.RequestPort,而傳送埠 URL 應該指定資料夾All_Exceptions。

  2. 如果 GlobalBank.ESB 應用程式尚未執行,請使用 BizTalk 管理主控台加以啟動。

  3. 將名為 FlatFileReceive_in.txt 的檔案從 \Source\Samples\Exception Handling\Test\Data 資料夾複製到 \Source\Samples\Exception Handling\Test\Filerop 資料夾) 中名為 EAIProcess.RequestPort 的接收位置資料夾 (。

  4. 此訊息是文字檔,而且會造成例外狀況。 在 \Source\Samples\Exception Handling\Test\Filedrop 資料夾) 中開啟名為 All_Exceptions (的資料夾,然後按兩下錯誤訊息,使用適當的範本將其開啟至 InfoPath。 您會看到 ESB 例外狀況處理機制會適當地序列化內容,以允許 InfoPath 轉譯它。

  5. 接下來,將名為 soapmessage[1].xml 的檔案從 \Source\Samples\Exception Handling\Test\Data 資料夾複製到 EAIProcess.RequestPort 接收位置資料夾。

  6. 此訊息是包含 CDATA 區段的 XML 檔,而且會造成例外狀況。 開啟All_Exceptions輸出檔案夾,然後按兩下錯誤訊息,將其開啟至 InfoPath。 您會看到 ESB 例外狀況處理機制會適當地序列化此內容,以允許 InfoPath 轉譯它。

  7. 最後,將名為 Csqzav01.pdf 的檔案從 \Source\Samples\Exception Handling\Test\Data 資料夾複製到 EAIProcess.RequestPort 接收位置。

  8. 此訊息是 PDF 檔案,而且會造成例外狀況。 開啟All_Exceptions輸出檔案夾,然後按兩下錯誤訊息,以在 InfoPath 中開啟。 您會看到 ESB 例外狀況處理機制序列化,而 Base-64 會編碼內容,以允許 InfoPath 轉譯它。