CatchAll Block Fails to Catch Error when Database Adapter with Insert Fails (Doc ID 1376874.1)

Last updated on MARCH 22, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.4.0 and later
Information in this document applies to any platform.

Goal

You have a composite with a BPEL process that uses a database adapter to do an insert to multiple tables with a parent-child relationship.  You observe that when the insert in the topmost parent table fails, it gives clear information with the unique key violation.  But when inserting in the second layer or third layer table, it gives fuzzy information about the fault and the fault is not caught by the catchAll block implemented in the process.  The fault received is likely to look like this:


<fault>
<exception class="com.collaxa.cube.engine.EngineException">
Rollback fault thrown. The current JTA transaction is aborting due to an user rollback fault being thrown from the BPEL code. This exception was caused by a bpelx:rollback fault being thrown. The user had directed the BPEL engine to roll back the current JTA transaction. There is no action recommended.
Error Message: <exception class="com.collaxa.cube.engine.EngineException">

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms