如何处理BPEL中的错误(SOA 11.1.1.4)。我有一个BPEL流程,输入为3个字符串输入和一个Employee类数组。
现在我想放置验证,因为输入不能为空。 然后如何为此进行故障处理。 每次我都面临选择失败异常。
实现这一目标的一种方法我应该在调用BPEL之前进行验证。
我如何在流程中处理这个问题。
我正在使用SOA 11.1.1.4和JDeveloper 11.1.1.4
答案 0 :(得分:1)
您没有说明您使用的是BPEL 1.1还是BPEL 2.0流程。在BPEL 1.1中,为SelectionFailure异常添加异常处理程序将起作用。
在BPEL 2.0中,您需要添加一个catch,因为在处理特定故障时似乎存在错误。
如果您还在使用Oracles BPEL故障管理框架,那么您需要为selectionfailure错误添加新的测试条件,并让它的action方法对此特定错误执行ora-rethrow操作
答案 1 :(得分:1)
或者,您可以修改wsdl,以便XML不允许空值,然后启用模式验证。
如果要在进程内处理它,请使用assign进行检查,并在作用域上使用catch块来捕获错误并设置wsdl错误的参数。