2013-11-01 46 views
2

我们使用验证活动在我们的BPEL流程来验证输入和输出消息是这样的:BPEL活动验证不给验证错误消息故障

<validate name="validateInput" variables="inputVariable"/> 

它工作正常,但是当发生验证错误时,消费者得到的故障只有这种:

<env:Fault xmlns:ns0="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> 
    <faultcode>ns0:invalidVariables</faultcode> 
    <faultstring>faultName: {{http://docs.oasis-open.org/wsbpel/2.0/process/executable}invalidVariables} 
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}</faultstring> 
    <faultactor/> 
    <detail> 
     <exception/> 
    </detail> 
</env:Fault> 

所以我的消费者都知道,他发出无效消息,但他没有得到信息在所有究竟是什么出了问题。

在企业管理器,我可以看到验证错误消息的原因,该消息未通过验证:

无效的数据:变量“传递InputVariable”的值,部分“有效载荷” 不匹配此部分的模式定义元素'ptSrcIdx' 不是预期的。

我需要将此验证错误消息返回给我的客户,以便他可以看到他的消息出了什么问题。

我会很感激任何帮助。谢谢!

回答

0

看来Oracle对这个问题有一些补丁,在11.1.1.7中也应该没问题。

与此同时,我们使用我们自己的用java编写的验证器,并从Embed Java BPEL活动调用。它慢一点(cca + 20%),但工作正常。