2011-07-05 140 views
0

如何處理BPEL(SOA 11.1.1.4)中的錯誤。我有一個BPEL流程,輸入爲3個字符串輸入和一個Employee類的數組。如何處理BPEL錯誤

現在我想把驗證作爲輸入不能爲空。 那麼如何對此進行故障處理。 每當我面臨選擇失敗異常。

實現此目的的一種方法我應該在調用BPEL之前進行驗證。

我如何處理這個過程中。

我使用SOA 11.1.1.4和JDeveloper 11.1.1.4

回答

1

如果你正在使用BPEL 1.1 BPEL 2.0流程你沒有說明。在BPEL 1.1中,爲SelectionFailure異常添加異常處理程序將起作用。

在BPEL 2.0中,您需要添加一個捕獲,因爲在處理特定故障時似乎存在缺陷。

如果您也正在使用甲骨文BPEL故障管理框架,那麼你需要添加selectionfailure錯誤的一個新的測試條件,有它的操作方法執行ORA-重投動作此特定錯誤

+0

謝謝,我使用的是BPEL 2.0。我檢查了範圍活動,並抓住了所有。然後我能夠運行我的過程。但我沒有找到任何地方掛鉤我的驗證程序,它將檢查所有驗證並將異常返回到調用程序。 – Pedantic

+0

你可以在範圍內做到這一點,但如果是確定哪個字段是無效的情況下,那麼合乎邏輯的地方就是在catchall中這樣做,因爲你知道這是一個錯誤,你可以確定哪些字段出錯而不明確地複製它們 – sweetfa

1

或者,你可以修改wsdl以便XML不會允許空值,然後打開模式驗證。

如果您想在流程內處理它,請使用assign進行檢查,並在範圍上使用catch塊來捕獲錯誤並設置wsdl錯誤的參數。