我们在 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”。
我需要将此验证错误消息返回给我的消费者,以便他可以看到他的消息有什么问题。
我将不胜感激。谢谢!