Wednesday, May 18, 2016

SOA DBAdapter error Cannot call Connection.commit in distributed transaction

Error message could look like
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'EbsCreateAccountProcedureDb' failed due to: DBWriteInteractionSpec Execute Failed Exception.
unknown failed. Descriptor name: [unknown].
Caused by java.sql.SQLException: Cannot call Connection.commit in distributed transaction.  Transaction Manager will commit the resource manager when the distributed transaction is committed..
Please see the logs for the full DBAdapter logging output prior to this exception.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
".
The invoked JCA adapter raised a resource exception.

Please examine the above error message carefully to determine a resolution.

The Solution could be, your Datasource might have been configured to support global transactions.  Uncheck the "Support Global Transactions" check box in your data source connection pool.

Note: After doing the modification, server need to be bounced.

No comments: