- BPEL 教程
- BPEL - 首頁
- BPEL - 簡介
- BPEL - 活動
- BPEL 流程中的合作伙伴連結
- 建立合作伙伴連結
- BPEL - 介面卡
- 流程監控器
- 單向訊息
- 同步互動
- 非同步互動
- 帶有超時的非同步互動
- 帶有通知計時器的非同步互動
- 一個請求,多個響應
- 一個請求,兩種可能的響應之一
- 一個請求,一個必填響應和一個可選響應
- 部分處理
- 多個應用程式互動
- 呼叫同步Web服務
- 呼叫非同步Web服務
- 使用並行流程
- 使用條件分支
- 使用故障處理
- 重新提交故障流程
- 整合Java和Java EE程式碼
- 操作XML資料
- 使用關聯集和訊息聚合
- 在BPEL流程中使用事件和超時
- 使用通知服務
- 使用Oracle BPEL Process Manager感測器
- BPEL 1.1和BPEL 2.0的區別
- BPEL有用資源
- BPEL - 快速指南
- BPEL - 有用資源
- BPEL - 討論
BPEL - 故障處理
要了解如何使用故障處理,我們需要學習Oracle SOA Suite中服務組合的基本架構。
服務元件 - BPEL流程、業務規則、人工任務、中介。這些用於構建SOA組合應用程式。
繫結元件 - 建立SOA組合與外部世界之間的連線。
服務 - 為SOA組合應用程式提供入口點。
繫結 - 定義與服務通訊的協議,例如SOAP/HTTP、JCA介面卡等。
WSDL - 定義Web服務的服務定義。
引用 - 使SOA組合應用程式能夠向外部服務傳送訊息。
線 - 使服務元件之間能夠連線。
故障型別
現在讓我們看看不同型別的故障。
業務故障
當應用程式執行THROW活動或INVOKE接收故障作為響應時發生。故障名稱由BPEL流程服務元件指定。使用故障名稱和故障變數的故障處理程式捕獲此故障。
執行時故障
這是由系統丟擲的。這些故障與RunTimeFaultMessage相關聯,幷包含在
http://schemas.oracle.com/bpel/extensionnamespace.
故障處理方法
在本節中,我們將學習關於不同故障處理方法。
丟擲活動
丟擲活動顯式地丟擲故障。catch塊捕獲此故障,並因此執行相應的操作。
使用丟擲活動,您可以丟擲業務故障,並且在建立的範圍內,您可以捕獲此故障並重定向給呼叫者(使用者)以採取行動。
除了上述方法外,您還可以丟擲在建立作用域的catch活動中捕獲的相同故障。在主作用域中,您可以使用catchall活動捕獲此故障。
錯誤處理框架 (EHF)
EHF中使用的兩個主要檔案是:
- Fault-Policy.xml
- Fault-Bindings.xml
每當BPEL流程丟擲錯誤時,EHF都會檢查Fault-Bindings.xml檔案中是否存在該錯誤。如果存在,則將採取Fault-Policy.xml檔案中的操作。如果找不到操作,則將丟擲故障,並在catch塊中進行處理。
故障管理框架(Fault-Policy.xml和Fault-Bindings.xml)儲存在SOA組合中。
catch和catchall之類的故障處理程式位於BPEL內部以捕獲所有故障,但只有當呼叫活動失敗時才會執行故障策略。