2011-07-05 108 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错误的参数。