My Oracle Support Banner

Cannot use CATCH Block or FAULT POLICY to Handle ORA-01013 When Long Running SQL Operation Invoked Through Database or Application Adapter does not Complete in Time Allowed by JTA Timeout (Doc ID 1301376.1)

Last updated on AUGUST 06, 2018

Applies to:

Oracle SOA Suite - Version 11.1.1.1.0 to 11.1.1.9.0 [Release 11gR1 to 11g]
Oracle SOA Suite - Version 12.2.1.3.0 and later
SOA Suite Cloud Service - Version N/A and later
Information in this document applies to any platform.
***Checked for relevance on 12-May-2014***

Symptoms

You have developed a composite where a BPEL process is executing a reference service that is a partner link which executes a SQL operation either directly through the Database Adapter or indirectly via the Oracle Applications Adapter.

In the case that the reference executes for longer than expected and in excess of the period configured by the JTA timeout, then the composite fails with a Non Recoverable System fault and the following log messages are present in the soa-server1-daignostic.log file:

[2011-01-12T15:25:51.883-05:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: orabpel.invoke.pool-4.thread-12]
[userId: <anonymous>] [ecid: 0000IpvsmXPC0zf_TX4Eyc1DBSLC00005v,0:3:14:100000013] [APP: soa-infra]
[composite_name: SOA_APPSTIMEOUT] [component_name: TestAppsAdapter] [component_instance_id: 760012]
[dcid: 2b408667a1156e6b:-56a5ebfc:12d7b14cfa2:-8000-0000000000001ed2] JCABinding=> SOA_APPSTIMEOUT:AdapTestEBS
[ AdapTestEBS_ptt::AdapTestEBS(InputParameters,OutputParameters) ]
Could not invoke operation 'AdapTestEBS' against the 'Oracle Applications Adapter' due to: [[

BINDING.JCA-11811
Stored procedure invocation error.
Error while trying to prepare and execute the APPS.SOA_PROCESS_TIMEOUT_TEST.SOA_PROCESS_TIMEOUT API.
An error occurred while preparing and executing the APPS.SOA_PROCESS_TIMEOUT_TEST.SOA_PROCESS_TIMEOUT API.
Cause: java.sql.SQLException: ORA-01013: user requested cancel of current operation

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 retriable, likely due to a communication failure.
Because the global transaction is rolling back the invoke must be retried in a new transaction,
restarting from the place of the last transaction commit.
To classify it as non-retriable instead add property nonRetriableErrorCodes with value "1013"
to your deployment descriptor (i.e. weblogic-ra.xml).

at oracle.tip.adapter.db.exceptions.DBResourceException.createXARetriableException(DBResourceException.java:641)
at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:613)
at oracle.tip.adapter.db.sp.SPUtil.createResourceException(SPUtil.java:174)
at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:130)
at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:141)
at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:1134)
at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:248)
at oracle.tip.adapter.apps.AppsInteraction.execute(AppsInteraction.java:138)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.
   executeJcaInteraction(JCAInteractionInvoker.java:303)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.
   invokeJcaReference(JCAInteractionInvoker.java:519)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.
   invokeSyncJcaReference(JCAInteractionInvoker.java:492)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.
   performSynchronousInteraction(JCAEndpointInteraction.java:472)
at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:166)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy249.request(Unknown Source)
at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:793)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:262)
at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1073)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:526)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:127)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:69)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1132)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4281)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:654)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:355)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.
   invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.
   proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor783.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.
    doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.
   invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.
   invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.
   doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.
   invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy243.handleInvoke(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.
   handleInvoke(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:330)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:35)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:141)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:82)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Caused by: java.sql.SQLException: ORA-01013: user requested cancel of current operation
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:135)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:210)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:473)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:423)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1095)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:201)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1036)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1379)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3568)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3739)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:8150)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:99)
at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:122)
... 83 more


When this occurs there is no opportunity to catch the exception from a CATCH block within the BPEL process or FAULT POLICY defined at the composite layer. As a result it is not possible to raise a notification and the instance is not set for manual recovery from the last dehydration point.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.