In one of my projects we were upgrading from 10.1.3.3 to 10.1.3.4. There were many processes which were configured to take part in global transaction. After upgrade to 10.1.3.4 the expected behavior during error scenarios seemed to be inconsistent. The rollback in different error scenarios were not happening properly since the error was getting swallowed at different touch points. That’s when it was realized that there is a new process parameter/flag named ‘handleTopLevelFault’ which has been set to true by default. Setting this to true means the fault will be handled at the scope specific exception block and rest of the process will be unaware of any error. So workaround was to set the parameter handleTopLevelFault’ to false.
In 10.1.3.5, property named transaction in configuration section of bpel.xml is renamed to handleTopLevelFault.
Snippets from release notes:
In case of unhandled exception, BPEL will not re-throw the exception. Configuration property handleTopLevelFault set to false will cause re-throw of exception.
Property named transaction in configuration section of bpel.xml is renamed to handleTopLevelFault in 10.1.3.5. If handleTopLevelFault is set to true, BPEL will not bubble up the unhandled exception. If it is not set, BPEL will bubble up the exception.
Reference : 7594608 Oracle SOA Platform 10.1.3.5