BPEL issue when Using XA vs non-XA JDBC drivers
While upgrading BPEL interfaces from 10g to 11g, I am experiencing an issue with the JDBC driver used when setting up the Data Sources in BPEL. By default, 11g is selecting an XA Oracle JDBC driver, instead of the non-XA we are currently using in 10g.
Non-XA driver currently in use in PROD (10g): oracle.jdbc.OracleDriver
XA driver selected by default in 11g: oracle.jdbc.xa.client.OracleXADataSource
When we use the default XA driver to create our Data Sources, we run into the following issue:
Error Message:
Fault ID reference:10018
Fault Time Feb 10, 2012 11:31:43 AM
Non Recoverable System Fault :
Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'UpdateStatus' failed due to: Stored procedure invocation error. Error while trying to prepare and execute the APPS.XXFND_SOA_INVOKE_BPEL_PKG.UPDATE_INTERFACE_STATUS API. An error occurred while preparing and executing the APPS.XXFND_SOA_INVOKE_BPEL_PKG.UPDATE_INTERFACE_STATUS API. Cause: java.sql.SQLSyntaxErrorException: ORA-02089: COMMIT is not allowed in a subordinate session ORA-06512: at "APPS.XXFND_SOA_INVOKE_BPEL_PKG", line 175 ORA-06512: at line 1 Check to ensure that the API is defined in the database and that the parameters match the signature of the API. This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-2089" 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.
If instead we choose the non-XA driver we currently use in PROD, I find there are new settings that can be selected that (I assume) were not available in 10g:
I have tried different combinations of the above setups but each has different challenges and issues. I am trying to avoid having to change the interface code and I would rather find a way to make the existing design work in 11g, but I am running out of time and ideas. Has anyone else experienc this issue? Any insight would be greatly appreciated.
Thanks for your time and consideration.
Regards,
Luis