I want to use the fault management framework in BPEL process
I have one Asynchronous BPEL process which invokes a webservice and I have created one fault-policies.xml and fault-bindings.xml and put both of them in the same directory structure of Composite.xml.
I want to catch the "remoteFault" so, at the runtime i have shutdowned that particular webservice. So, Asynchronous BPEL process is able to throw the system fault but the fault policy is not working. As a message it is showing that "*BPELFault" has not been caught by a catch block*".
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicy version="2.0.1" id="ErrorHandlingModel1"
<?xml version="1.0" encoding="UTF-8" ?>
Is there any steps are required to come up with proper outcome.
Thanks in Advance
Have you modified the properties in composite.xml to point to the fault policy files in the current project directory?
It should look like this:
No need to modify any properties in the composite.xml file, when you place the two files in the project directory where the composite.xml file resides, it should work.
see the sample files i have posted here, it should work , please check for the syntax. Also in the fault-bindings.xml file, apply the fault policy to the composite.
see my post in the below thread. sample fault-bindings and fault policy files for 11g
Hope this helps
Thanks for the reply. it works :)
I have one more question : is that possible to handle any business fault using fault-policies.xml file,if it is thrown by Sync BPEL process (Using Throw activity) ?
Because i alwz getting the message like "BPELFault is not handled by catch block" although the fault-policies.xml and fault-bindings.xml files are defined properly.
Actually i want to handle business fault thrown byt Sync BPEL process using fault Management Framework.
Thanks in advance.
Fault policies can be used to handle business faults also but if you throw a fault using throw activity, fault policies will not be executed; fault policies will only be executed when the invoke activity fails
When you manually throw a fault using throw activity that fault can be caught by a specific catch or catchAll branch but fault policies won't be executed
Hope this helps,