BPEL活动验证不会向验证错误消息提供错误消息

时间:2013-11-01 14:26:56

标签: oracle11g soa bpel

我们在BPEL流程中使用Validate活动来验证输入和输出消息,如下所示:

<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'   没想到。

我需要将此验证错误消息返回给我的消费者,以便他可以看到他的消息有什么问题。

我将不胜感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

似乎Oracle对此问题有一些补丁,在11.1.1.7中也应该没问题。

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