Soa 如何处理BPEL错误

Soa 如何处理BPEL错误,soa,bpel,Soa,Bpel,如何处理BPEL中的错误(SOA 11.1.1.4)。我有一个BPEL流程,输入为3个字符串输入和一个Employee类数组 现在我想把验证作为输入,不能为null。 那么如何对此进行故障处理。 每次我面临选择失败的例外 实现这一点的一种方法是在调用BPEL之前进行验证 我如何在流程内部处理这个问题 我使用的是SOA 11.1.1.4和JDeveloper 11.1.1.4您没有说明您使用的是BPEL 1.1还是BPEL 2.0流程。在BPEL 1.1中,为SelectionFailure异常添

如何处理BPEL中的错误(SOA 11.1.1.4)。我有一个BPEL流程,输入为3个字符串输入和一个Employee类数组

现在我想把验证作为输入,不能为null。 那么如何对此进行故障处理。 每次我面临选择失败的例外

实现这一点的一种方法是在调用BPEL之前进行验证

我如何在流程内部处理这个问题


我使用的是SOA 11.1.1.4和JDeveloper 11.1.1.4

您没有说明您使用的是BPEL 1.1还是BPEL 2.0流程。在BPEL 1.1中,为SelectionFailure异常添加异常处理程序将起作用

在BPEL2.0中,您需要添加一个“包罗万象”,因为在处理特定故障时似乎存在缺陷


如果您也在使用Oracles BPEL故障管理框架,那么您需要为selectionfailure错误添加一个新的测试条件,并让它的操作方法为这个特定错误执行ora rethrow操作。或者,您可以修改wsdl,使XML不允许空值,然后打开模式验证


如果您想在流程内部处理它,请使用assign检查它,并在作用域上使用catch块捕获错误并设置wsdl错误的参数。

谢谢,我使用的是BPEL 2.0。我检查了scope活动,并了解了所有内容。然后我就可以运行我的进程了。但是我没有找到任何地方可以钩住我的验证程序,它将检查所有的验证并将异常返回给调用程序。你可以在范围内完成,但如果是确定哪个字段无效的情况,那么逻辑上应该在catchall中执行,因为您知道这是一个错误,您可以确定哪些字段有错误,而无需显式复制它们