we use Validate activity in our BPEL processes to validate input and output messages like this:
<validate name="validateInput" variables="inputVariable"/>
It works fine, but when an validation error occurs, the consumer gets only this kind of fault:
<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>
So my consumer knows that he sent invalid message but he gets no information at all about what exactly went wrong.
In Enterprise manager I can see the validation error message with the reason why the message failed the validation:
Invalid data: The value for variable "inputVariable", part "payload" does not match the schema definition for this part Element 'ptSrcIdx' not expected.
I need to return this validation error message to my consumer so he can see what was wrong with his message.
I will appreciate any help. Thanks!