Internal JTA transaction rollback errors

Hello,
I seem to be having an issue where WLS 9.1 is swallowing JTA errors. Our application is using container-managed transactions to perform some database and JMS work inside various MDBs. We are running in a cluster with two managed servers, and we are using the Microsoft SQL Server 2005 Beta 2 JDBC drivers. We have been running the application in development for quite a while and we thought it was working fine, with the exception of an occasional message that reaches its redelivery limit due to database locking issues. However, I was just digging around in our server logs for information related to a different problem and I noticed that the error message below is littered throughout our logs on a fairly regular basis. What does this error mean, and how can it be resolved? Are we losing data and/or JMS messages without knowing it?
Regards,
Sabrina
<Feb 6, 2006 8:46:50 AM EST> <Notice> <EJB> <BEA-010017> <Exception occurred during rollback of transaction Xid=BEA1-61E52279C065F462EB9B(12892320),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3,seconds left=60,XAServerResourceInfo[WLStore_our_domain_our_filestore]=(ServerResourceInfo[WLStore_our_domain_our_filestore]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[OurXADataSource]=(ServerResourceInfo[OurXADataSource]=(state=rolledback,assigned=managed_server_2),xar=OurXADataSource,re-Registered = true),SCInfo[our_domain+managed_server_2]=(state=rolledback),SCInfo[our_domain+managed_server_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.OurXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=managed_server_2+ouripaddress:8002+our_domain+t3+, XAResources={SecondXADataSource, ThirdXADataSource},NonXAResources={})],CoordinatorURL=managed_server_1+ouripaddress:8001+our_domain+t3+): javax.transaction.SystemException: Heuristic hazard: (OurXADataSource, HeuristicHazard, (javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***))
     at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:405)
     at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:371)
     at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:485)
     at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:332)
     at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:289)
     at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
     at weblogic.jms.client.JMSSession.execute(JMSSession.java:3786)
     at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4228)
     at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
.>

Thanks so much for your response, Joe. Here is a detailed stack trace from one of these occurrences since I turned on the debug flags. If you'd still like me to post our config.xml, let me know - I thought I'd post this much to begin with since it's pretty lengthy.
Regards,
Sabrina
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331886688> <000000> <ResourceDescriptor[OurXADataSource]: getOrCreate gets rd: name = OurXADataSource
resourceType = 2
registered = true
scUrls = managed_server_2+ouripaddress:8002+our_domain+t3+
xar = OurXADataSource
healthy = true
lastAliveTimeMillis = 1139331886656
numActiveRequests = 0
>
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331886688> <000000> <BEA1-0ED82BD605F5F462EB9B: null: XA.start(rm=OurXADataSource, xar=OurXADataSource, flags=TMNOFLAGS)>
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331886688> <000000> <Resource 'OurXADataSource' setTransactionTimeout(120) not called. callSetTransactionTimeout=false, supportsSetTransactionTimeout=true>
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331886688> <000000> <startResourceUse, Number of active requests:3, last alive time:32 ms ago.>
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331886688> <000000> <BEA1-0ED82BD605F5F462EB9B: null: XA.start DONE (rm=OurXADataSource, xar=OurXADataSource>
####<Feb 7, 2006 12:04:46 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331886688> <000000> <endResourceUse, Number of active requests:0>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888391> <000000> <BEA1-0ED82BD605F5F462EB9B: null: XA.end(rm=OurXADataSource, xar=OurXADataSource, flags=TMFAIL)>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888391> <000000> <startResourceUse, Number of active requests:1, last alive time:0 ms ago.>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331888391> <000000> <XA.end DONE (rm=OurXADataSource, xar=OurXADataSource>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331888391> <000000> <endResourceUse, Number of active requests:0>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888391> <000000> <BEA1-0ED82BD605F5F462EB9B: null: XAResource[OurXADataSource].rollback()>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888391> <000000> <startResourceUse, Number of active requests:1, last alive time:0 ms ago.>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331888391> <000000> <BEA1-0ED82BD605F5F462EB9B: null: XAResource[OurXADataSource].rollback: FAILED , error code: XA_OK, message: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***
javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***
     at com.microsoft.sqlserver.jdbc.SQLServerXAResource.rollback(Ljavax.transaction.xa.Xid;)V(Unknown Source)
     at weblogic.jdbc.jta.DataSource.rollback(DataSource.java:1005)
     at weblogic.transaction.internal.XAServerResourceInfo.rollback(XAServerResourceInfo.java:1378)
     at weblogic.transaction.internal.XAServerResourceInfo.rollback(XAServerResourceInfo.java:727)
     at weblogic.transaction.internal.ServerSCInfo.startRollback(ServerSCInfo.java:740)
     at weblogic.transaction.internal.ServerTransactionImpl.localRollback(ServerTransactionImpl.java:2013)
     at weblogic.transaction.internal.ServerTransactionImpl.globalRollback(ServerTransactionImpl.java:2721)
     at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:392)
     at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:371)
     at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:485)
     at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:332)
     at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:289)
     at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
     at weblogic.jms.client.JMSSession.execute(JMSSession.java:3786)
     at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4228)
     at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331888391> <000000> <endResourceUse, Number of active requests:0>
####<Feb 7, 2006 12:04:48 PM EST> <Error> <JTA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0ED82BD605F5F462EB9B> <> <1139331888391> <BEA-110412> <Xid=BEA1-0ED82BD605F5F462EB9B(15099934),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=1,seconds left=60,activeThread=Thread[[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads],XAServerResourceInfo[WLStore_our_domain_our_filestore]=(ServerResourceInfo[WLStore_our_domain_our_filestore]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[OurXADataSource]=(ServerResourceInfo[OurXADataSource]=(state=rolledback,assigned=managed_server_2),xar=OurXADataSource,re-Registered = false),SCInfo[our_domain+managed_server_2]=(state=rolledback),SCInfo[our_domain+managed_server_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.OurXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=managed_server_2+ouripaddress:8002+our_domain+t3+, XAResources={ThirdXADataSource, SecondXADataSource},NonXAResources={})],CoordinatorURL=managed_server_1+ouripaddress:8001+our_domain+t3+) completed heuristically: (OurXADataSource, HeuristicHazard, (javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***)) >
####<Feb 7, 2006 12:04:48 PM EST> <Notice> <EJB> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888453> <BEA-010017> <Exception occurred during rollback of transaction Xid=BEA1-0ED82BD605F5F462EB9B(15099934),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[WLStore_our_domain_our_filestore]=(ServerResourceInfo[WLStore_our_domain_our_filestore]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[OurXADataSource]=(ServerResourceInfo[OurXADataSource]=(state=rolledback,assigned=managed_server_2),xar=OurXADataSource,re-Registered = false),SCInfo[our_domain+managed_server_2]=(state=rolledback),SCInfo[our_domain+managed_server_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.OurXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=managed_server_2+ouripaddress:8002+our_domain+t3+, XAResources={ThirdXADataSource, SecondXADataSource},NonXAResources={})],CoordinatorURL=managed_server_1+ouripaddress:8001+our_domain+t3+): javax.transaction.SystemException: Heuristic hazard: (OurXADataSource, HeuristicHazard, (javax.transaction.xa.XAException: java.sql.SQLException: ROLLBACK:Status:0 msg:*** SQLJDBC_XA DTC_ERROR Context: xa_rollback, state=1, StatusCode:-4 (0xFFFFFFFC) ***))
     at weblogic.transaction.internal.ServerTransactionImpl.internalRollback(ServerTransactionImpl.java:405)
     at weblogic.transaction.internal.ServerTransactionImpl.rollback(ServerTransactionImpl.java:371)
     at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:485)
     at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:332)
     at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:289)
     at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
     at weblogic.jms.client.JMSSession.execute(JMSSession.java:3786)
     at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4228)
     at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
.>
####<Feb 7, 2006 12:04:48 PM EST> <Info> <EJB> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1139331888516> <BEA-010213> <Message-Driven EJB: OurMDB's transaction was rolledback. The transaction details are: Xid=BEA1-0ED82BD605F5F462EB9B(15099934),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[WLStore_our_domain_our_filestore]=(ServerResourceInfo[WLStore_our_domain_our_filestore]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[OurXADataSource]=(ServerResourceInfo[OurXADataSource]=(state=rolledback,assigned=managed_server_2),xar=OurXADataSource,re-Registered = false),SCInfo[our_domain+managed_server_2]=(state=rolledback),SCInfo[our_domain+managed_server_1]=(state=rolledback),properties=({}),local properties=({weblogic.jdbc.jta.OurXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=managed_server_2+ouripaddress:8002+our_domain+t3+, XAResources={ThirdXADataSource, SecondXADataSource},NonXAResources={})],CoordinatorURL=managed_server_1+ouripaddress:8001+our_domain+t3+).>
####<Feb 7, 2006 12:04:48 PM EST> <Error> <JDBC> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0EEC2BD605F5F462EB9B> <> <1139331888594> <BEA-001112> <Test "select count(*) from DUAL" set up for pool "OurXADataSource" failed with exception: "com.microsoft.sqlserver.jdbc.SQLServerException: Connection is Closed".>
####<Feb 7, 2006 12:04:48 PM EST> <Info> <JDBC> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0EEC2BD605F5F462EB9B> <> <1139331888594> <BEA-001128> <Connection for pool "OurXADataSource" closed.>
####<Feb 7, 2006 12:04:48 PM EST> <Debug> <JTAXA> <machine-name> <managed_server_2> <[ACTIVE] ExecuteThread: '46' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0EEC2BD605F5F462EB9B> <> <1139331888594> <000000> <java.lang.Exception: DEBUG: unregister
     at weblogic.transaction.internal.TxDebug.debugStack(TxDebug.java:60)
     at weblogic.transaction.internal.XAResourceDescriptor.unregister(XAResourceDescriptor.java:764)
     at weblogic.transaction.internal.ResourceDescriptor.unregister(ResourceDescriptor.java:335)
     at weblogic.transaction.internal.ResourceDescriptor.unregister(ResourceDescriptor.java:297)
     at weblogic.transaction.internal.ServerTransactionManagerImpl.unregisterResource(ServerTransactionManagerImpl.java:684)
     at weblogic.jdbc.common.internal.XAConnectionEnvFactory.refreshResource(XAConnectionEnvFactory.java:222)
     at weblogic.jdbc.common.internal.XAConnectionEnvFactory.refreshResource(XAConnectionEnvFactory.java:173)
     at weblogic.common.resourcepool.ResourcePoolImpl.refreshResource(ResourcePoolImpl.java:1554)
     at weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1462)
     at weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1373)
     at weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1363)
     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:323)
     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:295)
     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:457)
     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:346)
     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:83)
     at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1438)
     at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1256)
     at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:462)
     at weblogic.jdbc.jta.DataSource.connect(DataSource.java:392)
     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
     at ourpackage.OurDataSourceUtil.openConnection(OurDataSourceUtil.java:125)     
     at ourpackage.OurMDB.onMessage(OurMDB.java:171)
     at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:426)
     at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:332)
     at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:289)
     at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
     at weblogic.jms.client.JMSSession.execute(JMSSession.java:3786)
     at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4228)
     at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
>

Similar Messages

  • JTA transaction is aborting due to an user rollback fault

    Hi,
    While testing the ReceiptEBS on EM, we are getting given error, few minutes before EBS was working fine.
    Error -
    The selected operation CreateReceiptList could not be invoked.
    An exception occured while invoking the webservice operation. Please see logs for more details.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Global retry rollback fault thrown.
    The current JTA transaction is aborting due to an user rollback fault being thrown. The upstream component should retry in a new
    JTA transaction upon catching this fault.
    This exception was caused by a global retry fault being thrown from downstream component. The user had directed the BPEL engine to roll
    back the current JTA transaction and retry within new JTA transactions for the specified number of times and retry interval.
    There is no action recommended.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Global retry rollback fault thrown.
    The current JTA transaction is aborting due to an user rollback fault being thrown. The upstream component should retry in a
    new JTA transaction upon catching this fault.
    This exception was caused by a global retry fault being thrown from downstream component. The user had directed the BPEL engine
    to roll back the current JTA transaction and retry within new JTA transactions for the specified number of times and retry interval.
    There is no action recommended.

    Hi,
    This seems to be a timeout error during JTA transaction. Some of my suggestions are
    1. Put a timeout value in the partner link properties.
    2. Set the timeout parameter for JTA under Domain configuration in console.
    Regards,
    Rahul

  • Getting "JTA transaction is not present" error while updating db table.

    Hi All,
    In one of my BPEL process, In a loop, I am updating value of database column Flag from 0 to 1. It was working fine in dev environment, but failed in Prod with below errors, Can Any one suggest on this.
    There is a system exception while performing the BPEL instance, the reason is "JTA transaction is not present or the transaction is not in active state. The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.. Please consult your administrator regarding this error. ". Please check the error log file for more infromation. Please try to use bpel fault handlers to catch the faults in your bpel process. If this is a system exception, please report this to your system administrator. Administrator could perform manual recovery of the instance from last non-idempotent activity or dehydration point.
    OPMN logs:
    <2010-05-05 01:56:49,395> <ERROR> <gemptp.collaxa.cube.engine> The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    The current JTA transaction is not present or it is not in active state when processing activity or instance "1020112-BpInv7-BpSeq14.87-2". The reason is The execution of this instance "1020112-BpInv7-BpSeq14.87-2" for process "UpdateOrderReqABCS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Thanks in advance.

    I can envisage this happening only in a case where the update is taking a longer time than the value of JTA transaction timeout.
    Is this happening for all BPEL instances or some of them get thru succesfully ?
    Are you EVER updating that particular row of your table ( before/after) ?
    -Shishir

  • Error handling via CatchAll and JTA transaction error.

    Hi
    soa 10.1.3.5.0
    I have created a test BPEL process where i am updating already completed Human task. I know it's wrong and i am doing it purposely to test error handling mechanism.
    In the same BPEL I added a Catch all handler hoping that this will catch the error and will let me complete the process.
    However BPEL is failing in the Catch All scope with lovely error: JTA transaction is not present or the transaction is not in active state.
    Does anybody know how and why humantask update activity suddenly changes jta transaction state? Any thoughts of how i can catch the error in the situation i described and process it gracefully?
    Thanks for your help!
    piece from domain.log starting from the place where task service failing to update already completed human task.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of .
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3600)
    <2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3557)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcomeAndEvaluateRoutingSlip(TaskService.java:1139)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:1006)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:985)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.updateTaskOutcome(TaskServiceBean.java:409)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at TaskServiceBean_LocalProxy_68d4144.updateTaskOutcome(Unknown Source)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.updateTaskOutcome(TaskServiceLocalClient.java:678)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.updateTaskOutcome(TaskServiceWSIF.java:580)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.wsif.providers.java.WSIFOperation_Java.executeRequestResponseOperation(WSIFOperation_Java.java:1019)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:480)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:538)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:286)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:832)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:413)
    <2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:200)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:4326)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1839)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:77)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:240)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:345)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6460)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.reflect.Method.invoke(Method.java:597)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>     at java.lang.Thread.run(Thread.java:662)
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>     at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3592)
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>     ... 71 more
    <2013-10-10 17:01:00,562> <ERROR> <services.collaxa.cube.engine> The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.
    <2013-10-10 17:01:00,571> <WARN> <services.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "activity manager": Failed due to unhandled bpel fault.
    <2013-10-10 17:01:00,584> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    ORABPEL-02182
    JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
        at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:6176)
        at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6482)
        at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
        at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
        at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
        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.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
        at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
        at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
        at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
        at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
        at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
        at ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
        at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
        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:662)
    <2013-10-10 17:01:00,585> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> Not fatal connection error ... not retrying: class com.collaxa.cube.engine.UnhandledFaultException: Failed due to unhandled bpel fault.
    <2013-10-10 17:01:00,593> <ERROR> <services.collaxa.cube.engine.dispatch> <BaseDispatchTask::run> Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
    The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
    Please consult your administrator regarding this error.
        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:226)
        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
        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:662)

    If you look at the error, it suggests that the action you are performing is invalid.That is you cannot update human task which has been already completed. Thats why you are getting that "JTA transaction not active error". Since your human task has already been completed, it is not able to update it again.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
    <2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
    <2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
    May be you can try some other usecase ? Also could you let me know whether you are getting this error in logs only or in your composite instance as well. I mean whether the instance gets successfully terminated or completed ??
    Regards,
    Karan

  • Weblogic 7 SP5 SQL Exceptions follow a JTA transaction timeout

    I have a problem in Weblogic 7 SP5 that was not happening in SP2. I'm using the
    Weblogic jDriver (weblogic.jdbc.mssqlserver4.Driver)
    I have a transaction that times out due to JTA transaction timeout, and then gets
    marked for rollback. For several minutes after the timeout, I get many SQL Exceptions
    with bogus messages like "invalid column name" when the column name is, in fact,
    correct.
    Then the weblogic log file shows "Exception during rollback of transaction" (javax.transaction.SystemException:
    Heuristic hazard). Next, the connection is tested on reserve, this test fails,
    and the connection is refreshed. As soon as the connection is refreshed, I stop
    getting SQL exceptions and everything starts working correctly again.
    It seems like the transaction timeout is making the connection go bad, and somehow
    other requests are using this bad connection before the transaction finishes rolling
    back. What could the problem be? Some excerpts from my app log and weblogic log
    are below.
    com.workpoint.server.ejb.WorkPointEJBException: The transaction is no longer active
    - status: 'Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException:
    Transaction timed out after 901 seconds
    Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17109:68c10765ba68aaaa(12114044),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=901,seconds left=60,activeThread=Thread[WorkQueueThread[q=1, qName=ProcReleaseTaskWorkers,
    id=6],5,WorkQueueGroup[id=1, name=ProcReleaseTaskWorkers]],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assigned=none,xar=weblogic.jdbc.jts.Connection@18cd616,re-Registered
    = false),SCInfo[DomainManager+edwards-s1]=(state=active),properties=({weblogic.transaction.name=[EJB
    com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
    weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
    Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+)]'.
    No further JDBC access is allowed within this transaction.SQL Command = INSERT
    INTO WP_PROCI_NODE_HIST (NODE_HIST_ID, NODE_HIST_DB, PROCI_ID, PROCI_DB, PROCI_NODE_ID,
    PROCI_NODE_DB, NODE_ITERATION, NODE_STATE_ID, ROW_VERSION, LU_ID, LU_DATE) VALUES
    weblogic.jdbc.mssqlserver4.TdsException: Invalid column name 'user_fname'.
    [from weblogic log]
    ####<Jun 17, 2004 8:14:16 AM MDT> <Error> <EJB> <EDWARDS> <edwards-s1> <WorkQueueThread[q=1,
    qName=ProcReleaseTaskWorkers, id=7]> <kernel identity> <> <010025> <Exception
    during rollback of transaction Name=[EJB com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],Xid=17439:68c10765ba68aaaa(31878774),Status=Rolled
    back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=3,seconds left=57,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=rolledback,assigned=edwards-s1,xar=weblogic.jdbc.jts.Connection@15e1b7e,re-Registered
    = false),SCInfo[DomainManager+edwards-s1]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
    com.storeperform.taskmgr.ejb.procrelease.ProcReleaseBean.distributeToOrgUnit(com.storeperform.taskmgr.values.DistributionUnit)],
    weblogic.jdbc=t3://10.10.3.17:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+,
    Resources={})],CoordinatorURL=edwards-s1+10.10.3.17:7001+DomainManager+t3+): javax.transaction.SystemException:
    Heuristic hazard: (weblogic.jdbc.jts.Connection, HeuristicHazard, (javax.transaction.xa.XAException:
    I/O exception while talking to the server, java.io.EOFException))
    ####<Jun 17, 2004 8:14:17 AM MDT> <Warning> <JDBC> <EDWARDS> <edwards-s1> <ExecuteThread:
    '8' for queue: 'default'> <kernel identity> <> <001094> <A connection from pool
    "sp_connection_pool" was tested during reserve with the SQL "select 1" and failed:
    weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server,
    java.io.EOFException
    ...[stack trace omitted]...
    This connection will now be refreshed.>

    Brad Swanson wrote:
    According to BEA's documentation, the jDriver is deprecated (no longer supported)
    in WLS 7 SP5. Not sure when they stopped supporting it, but sometime after SP2,
    apparently. Our solution, unfortunately, was to stay with SP2. Using the newer,
    supported JDBC driver would presumably fix the problem, but we didn't have time
    to do a full regression test with a different driver.Hi, no. The jDriver is deprecated, not unsupported. For WLS releases that contain
    the jDriver it will be supported for as long as we support the WLS release!
    Deprecation just means that we may choose to not supply that driver in any future
    release, and will not support it in that or any subsequent release.
    Practically, much depends on which jDriver you're using. In decreasing order
    of practical support we have: The weblogic.jdbc.oci.Driver to Oracle: We do actively
    continue to fix bugs in it. The weblogic.jdbc.mssqlserver4.Driver: Very unlikely that
    we will fix any new problem with it. The weblogic.jdbc.ifmx.Driver: Even less
    likely that we will do anything with it...
    I hope that makes it better for you.
    Joe

  • Can't catch the exception when transaction rollback ,BPEL/SOA 11G,updated!

    Hi Guys ,
    I have two insert/update invoke actions through dbadpter in my BPEL process .
    When I set the GetActiveUnitOfWork property of those two db adapters to true ,it successfully makes the global transaction work . any of them failed will cause the other rollback.
    But the CatchAll brunch can't catch the exception in that case,
    I can only see exception message from the system output :
    02/11/2009 11:36:46 AM oracle.toplink.transaction.AbstractSynchronizationListener beforeCompletion
    WARNING:
    Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 090527)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (Table1_PK) violated
    from BPEL console , you can't even see the error , the process finished with no exception.
    When I set GetActiveUnitOfWork to false, CatchAll brunch is able to catch the exception , but global rollback is not working .
    I try all the other method like set the transaction property of BPEL to required , using checkpoint() in java embedding . it looks like only way is set GetActiveUnitOfWork to true, but can't catch exception.
    Here are some updated:
    Here is my process
    Main Sequence
    Invoke (dbadapter update)
    Invoke (dbadapter insert)
    Global CatchAll
    Invoke(jmsAdapter sendjms)
    if I disable the CatchAll branch , when insert failed , the insert will rollback as well, even GetActiveUnitOfWork set to false.
    enable CatchAll branch , even doing nothing in this branch , the update won't rollback when insert failed. it looks like when catch the exception , bpel seems not rollback , I try to add throw rollback in catchall branch, no any effect.
    any clue ?
    Kevin
    Edited by: kyi on Nov 5, 2009 10:10 AM

    Hi All,
    We are also facing a similar kind of issue.
    We have a simple BPEL which will makes use of JAva embedding to call an end point to check its availibility.
    The Java code for cheking the enpoint connectivity is below
    try{      
    boolean endpointAvailable = false;
    long start = System.currentTimeMillis();
    int endpointTestURL_port = 8445 ;
    int endpointTestURL_timeout = 500;
    String endpointTestURL_queryString = "" ;
    String endpointTestURL_protocol = (String)getVariableData ("endpointProtocol");
    addAuditTrailEntry("endpointTestURL_protocol: " + endpointTestURL_protocol);
    String endpointTestURL_host = (String)getVariableData ("endpointHost");
    addAuditTrailEntry("endpointTestURL_hostl: " + endpointTestURL_host);
    URL endpoint = new URL(endpointTestURL_protocol, endpointTestURL_host, 8445, endpointTestURL_queryString);
    addAuditTrailEntry("endpoint object is created" );
    String endpointTestURL = endpoint.toExternalForm();
    addAuditTrailEntry("Checking availability of endpoint at URL: " + endpointTestURL);
    // Configure connection
    HttpURLConnection connection = (HttpURLConnection)endpoint.openConnection();
    connection.setRequestMethod("GET");
    addAuditTrailEntry("The Method is Get");
    connection.setConnectTimeout(5000);
    addAuditTrailEntry("Timeout is 500 ms");
    // Open connection
    connection.connect();
    addAuditTrailEntry("Open Connection");
    String responseMessage = connection.getResponseMessage();
    addAuditTrailEntry("Recieved availability response from endpoint as: " + responseMessage);
    // Close connection
    connection.disconnect();
    endpointAvailable = true;
    if (endpointAvailable)
    setVariableData("crmIsAvailable", "true");
    else
    setVariableData("crmIsAvailable", "false");
    catch(Exception e)
    System.out.println ("Error in checking endpoint availability " + e) ;
    addAuditTrailEntry("error message is : " +e);         
    When we run the above as a seperate java program it runs fine i.e goes to the catch block and catches the exception.
    But when we run it within the java embedding in BPEL(11G) it gives us the follwoing error.
    The reason was The execution of this instance "490001" for process "default/GMDSSalesLeadsBackMediationInterface!1.0*soa_e1a6362f-c148-417c-819c-9327017ebfa4" is supposed to be in an active jta transaction, the current transaction status is "ROLLEDBACK" .
    Consult the system administrator regarding this error.
         at com.oracle.bpel.client.util.TransactionUtils.throwExceptionIfTxnNotActive(TransactionUtils.java:119)
         at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:4055)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4372)
         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 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.GeneratedMethodAccessor960.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.EnvironmentInte
    we also get
    BEA1-108EA2A88DAF381957FF
    weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
    BEA1-108EA2A88DAF381957FF
         at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1733)
         at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1578)
         at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1900)
         at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1488)
         at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    javax.ejb.EJBException: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
    BEA1-108EA2A88DAF381957FF
    We tried the following
    Increase the JTA timeout in the EM console to a larger value like 600 secs.
    The BPEL instance is not getting created.
    Any help would be appreciated
    Thanks
    Lalit

  • SFSB and BMT JTA Transaction Scope confusion

    Hi,
    I'm a bit confused with the scope of a UserTransaction.
    * Classic SFSB with BMT
    @Stateful
    @TransactionManagement(TransactionManagementType.BEAN)
    public class SFSBean implements SFS {
         private @Resource UserTransaction tx;
         private @PersistenceUnit(unitName="my-db") EntityManagerFactory emf;
         private EntityManager em;
         public void start() {
              try {
                   tx.begin();
              } catch (NotSupportedException e) {
                   throw new RuntimeException(e);
              } catch (SystemException e) {
                   throw new RuntimeException(e);
              em = emf.createEntityManager();
         public void doJob1() {
         public void doJob2() {
         @Remove
         public void commit() {
              try {
                   tx.commit();
              } catch (SecurityException e) {
                   throw new RuntimeException(e);
              } catch (IllegalStateException e) {
                   throw new RuntimeException(e);
              } catch (RollbackException e) {
                   throw new RuntimeException(e);
              } catch (HeuristicMixedException e) {
                   throw new RuntimeException(e);
              } catch (HeuristicRollbackException e) {
                   throw new RuntimeException(e);
              } catch (SystemException e) {
                   throw new RuntimeException(e);
         @Remove
         public void rollback() {
              try {
                   tx.rollback();
              } catch (IllegalStateException e) {
                   e.printStackTrace();
              } catch (SecurityException e) {
                   e.printStackTrace();
              } catch (SystemException e) {
                   e.printStackTrace();
    }When I request this SB the container inject a JTA transaction inside my variable tx and this transaction will be bound to the life of my SB.
    But : if a handler for this SB is associated to a SessionScoped or ConversationScoped bean (CDI contexts) or simply to a HttpSession attribute, then calls to SB methods may occurs in different thread (successives requests).
    Is this pattern supported? As JTA rely on ThreadLocal but a transaction can also be injected inside a SFSB: I'm a bit confused...
    HttpRequest1[Thread-1] : ejbHandler.start(); // conversation start
    HttpRequest2[Thread-2] : ejbHandler.doJob1(); // long running transaction
    HttpRequest3[Thread-1] : ejbHandler.doJob2(); // long running transaction
    HttpRequest4[Thread-3] : ejbHandler.commit(); // conversation end
    I tried a small use case and it seems to work (maybe all my requests was part of the same thread, lucky me) with JBoss but if an error occurs the transaction manager seems completely confused.
    If this pattern is legal (I know it is a very bad pattern...), I'll try to fix my code, if it isn't I'll have to drop JTA from this part of the code...
    Thank you.

    Yes, this is part of the required transactional behavior for a stateful session bean. A stateful session bean is the only session bean type whose bean instances can retain their association with a transaction after the business method returns. It's then the container's job to set up the correct transaction context for each successive invocation of the stateful session bean instance, until the transaction is committed or rolled back. If a system exception is thrown from the stateful session bean method the instance will be destroyed.

  • High 'transaction rollback' (statistic# = 172) investigation

    Hi,
    I'm trying to investigate what could cause high transaction rollback .
    First think was ora-0001 unique constraint violation but I can't see any err=1:
    grep err=1 ora_1544382.trc
    in trace file .
    Do You have any idea what else can cause hight transaction rollback problem in JDBC connections (maybe somekind of timeouts) ?
    There is no clue in 10046 trace with lvl 12 maybe other trace ?
    Connections are made throught connection pool from Websphere Application Server dont know if thats relevant.
    Maybe some JDBC properties interfere, can't see thing in trace files.
    Database is 9.2.0.8
    Regards.
    GG

    user10388717 wrote:
    Hi,
    I'm trying to investigate what could cause high transaction rollback .
    First think was ora-0001 unique constraint violation but I can't see any err=1:
    grep err=1 ora_1544382.trc
    in trace file .
    What did you do to record the appearance of the "transaction rollbacks". Was this taking a snapshot of the session's statistics as the trace file was generated ?
    Essentially any transaction that rolls back and clears the undo segment header will report as a "transaction rollback" - including some internal transactions.
    Example 1) Inserting a row into a "child" table when the "parent" doesn't exist will error with ORA-02291 (parent not found). If this was the first DML of a transaction the resulting rollback will show as a "transaction rollback".
    Example 2) An index leaf block split picks an unsuitable block off the freelist and starts an internal transaction; when Oracle realises it was an unsuitable block the transaction rolls back.
    One quick cross-check for Dom Brooks' idea: if this is the front end code deliberately starting a transaction and rolling it back, then "user rollbacks" will be similar to "transaction rollbacks". If it's not user driven then you may have more transaction rollbacks than user rollbacks. Unfortunately, if the front-end issues a rollback after every query (i.e. without starting a transaction) then these rollbacks will show as user rollbacks but not transaction rollbacks and confuse the issue.
    Having checked your trace for error 00001, you might as well check just for "ERR".
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    "Science is more than a body of knowledge; it is a way of thinking"
    Carl Sagan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • SAP J2EE Engine JTA Transaction Xml for table TABLE could not be ana

    I'm having a weird case. I created 3 entity bean. In my R/3 will call this JCO.Function to do the insert to database. But out of 3 entity bean, only 1 entity bean got error where it unable to insert to database and have this error in the log.
    The case is quite weird where i created the same entity but only 1 entity is not working as expected. Wondering what cause this problem.
    Thanks.
    org.xml.sax.SAXException: Fatal Error: URI=:main: Line=1: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Name expected: 0x20(:main:, row:1, col:218)#
    at com.sap.dictionary.database.dbs.XmlExtractor$XMLErrorHandler.fatalError(XmlExtractor.java:279)#
    at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144)#
    at com.sap.dictionary.database.dbs.XmlExtractor.map(XmlExtractor.java:130)#
    at com.sap.dictionary.database.catalog.DbGeneralStructure.<init>(DbGeneralStructure.java:86)#
    at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:90)#
    at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)#
    at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)#
    at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)#
    at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)#
    at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)#
    at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)#
    at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)#
    at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)#
    at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)#
    at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)#
    at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)#
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)#
    at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)#
    at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)#
    at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)#
    at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)#
    at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)#
    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:324)#
    at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)#
    at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)#
    at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)#
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)#
    at java.security.AccessController.doPrivileged(Native Method)#
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)#
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)#
    ##0#0#Error##Java###{0}.commit(), Cannot commit due to unexpected exception in beforeCompletion(): 
    [EXCEPTION]
    {1}#2#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         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:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    #1.5 #001A6467CDF400590000004E000018D8000459BB785F496C#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Server#Java#ts_0004##Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).#1#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#
    #1.5 #001A6467CDF400590000004F000018D8000459BB785F4BC5#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Audit#Java###Exception {0}#1#com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         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:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    #1.5 #001A6467CDF4005900000050000018D8000459BB785F4E8F#1224561620123#com.sap.engine.services.ejb.entity.Container#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ejb.entity.Container#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Java###null
    [EXCEPTION]
    {0}#1#com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         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:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         ... 15 more
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    #1.5 #001A6467CDF4005900000051000018D8000459BB785F5FA9#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###RemoteException insertOk=false#
    #1.5 #001A6467CDF4005900000052000018D8000459BB785F6094#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###Tue Oct 21 12:00:20 SGT 2008 java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         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:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         ... 15 more
    Caused by: java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    ; nested exception is:
         javax.transaction.RollbackException: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         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:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more

    Hi Stefan and Everyone,
    I have solved my problem. Just want to let everyone know if u have to install the SP's for WEB AS 6.30/6.40.
    You start from the installation from CD 6.30/6.40. Everything will be working at this point. You can login to Visual Admin, Config tool and SDM.
    Before you apply any SP's, do the following:
    a) Create an emergency user with the Administrator rights: Ref OSS Note:669848
    Try to follow this route for SP's:
    From CD 6.30/6.40 -> SP04 -> SP07
    Apply SP04 first before applying SP07 (Recommended Approach).
    Refer the installation guide: SAP Web AS Support Package Guide 630SP2 to 640SP4.
    Use JDK1.4.2_05 to install SP04. You must reference the following OSS Notes and apply to your system accordingly, this is the key to an error free installation:
    a) OSS Note: 697535
    b) OSS Note: 709140
    c) OSS Note: 716604
    d) OSS Note: 706378
    You have to be really careful with SP04 installation, because it changes the version from 6.30 -> 6.40.
    Once you are able to install SP04 without any problems, you can directly apply SP07 or the highest 6.40 SP.
    Kind Regards,
    Buddha.

  • Doubts on nonxa oracle datasources in Weblogic JTA transaction

    I am doing some studying on XA transaction handling in weblogic 10.3.6. I read a lot materials on web saying that can't enlist more than 1 non xa datasources inside one single XA transaction, so I am doing a simple test: trying to update one record in one oracle database, and inserting one record in another.
    The test code is below:
    @Stateless(mappedName = "nativeQueryTest")
    @TransactionManagement(TransactionManagementType.CONTAINER)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public class DaoEjb implements .... {
         @PersistenceContext(unitName="nonxa.unit")
         private EntityManager nonXAPC;
         @PersistenceContext(unitName="another.nonxa.unit")
         private EntityManager anotherNonXAPC;
         @Override
         public void doUpdateWithNonXaDss() {
              Employee l_entity = nonXAPC.find(Employee.class, "tom");
              l_entity.setAge(new Random().nextInt());
              Department l_dep = new Department();
              l_dep.setName("dept" + new Random().nextInt());
              l_dep.setEmployeeNum(new Random().nextInt());
              anotherNonXAPC.persist(l_dep);
    The persistence unit definitions are:
         <persistence-unit name="nonxa.unit" transaction-type="JTA">
              <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
              <jta-data-source>nonxa.ds</jta-data-source>
              <class>entity.Employee</class>
              <exclude-unlisted-classes>true</exclude-unlisted-classes>
              <properties>
                   <property name="eclipselink.target-database" value="Oracle" />
    <property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC" />
    <property name="eclipselink.target-server" value="WebLogic_10" />
                   <property name="eclipselink.logging.parameters" value="true" />
                   <property name="eclipselink.logging.logger" value="ServerLogger" />
              </properties>
         </persistence-unit>
         <persistence-unit name="another.nonxa.unit" transaction-type="JTA">
              <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
              <jta-data-source>another.nonxa.ds</jta-data-source>
              <class>entity.Department</class>
              <exclude-unlisted-classes>true</exclude-unlisted-classes>
              <properties>
                   <property name="eclipselink.target-database" value="Oracle" />
                   <property name="eclipselink.jdbc.batch-writing" value="Oracle-JDBC" />
                   <property name="eclipselink.target-server" value="WebLogic_10" />
                   <property name="eclipselink.logging.parameters" value="true" />
                   <property name="eclipselink.logging.logger" value="ServerLogger" />
              </properties>
         </persistence-unit>
    For the two data sources, they are pointed to two different oracle databases on two different physical servers. I use "oracle.jdbc.OracleDriver" as the drivers, and also make sure that "Support Global Transaction" options un-selected.
    I used a simple client to invoke the EJB, and saw the method completes without any error: the first record is updated and second record is inserted! Therefore I am really confused:
    1) is the JTA transaction XA or not in my small EJB?
    2) if it's XA, why can I use two non-XA datasources inside this XA transaction?

    Why do you think this should fail? Looks to me like you have two isolated transactions going on that have no relation to each other.

  • Possible Bug?  NullPointerException on Transaction rollback

    Hi,
    Not sure if this is a known bug or not. I am using SQL Server 2000,
    Microsoft's JDBC driver, JDK 1.4.1_01 on a Win2k platform. With Kodo
    2.3.3 I am getting the following exception when I call a
    transaction.rollback(). My update is failing because I am trying to
    insert too many characters into a varchar(255) field. Ah, the wonders
    of double-byte character sets and fixed width HTML text input fields.
    Khamsouk
    15:35:46,734 INFO [kodo] UPDATE GCGroup SET
    name='??????????????????????????????????????????????????????????????????????
    ??????????????????????', visibility=2, child_count=0, JDOLOCKX=1,
    description='', rank=1, global_write=0, user_count=0, global_read=0 WHERE
    (id = 170 AND JDO
    LOCKX = 0)
    15:35:46,750 INFO [kodo] [ C:
    15:35:46,750 INFO [kodo] 7795432
    15:35:46,750 INFO [kodo] ; T:
    15:35:46,750 INFO [kodo] 16900472
    15:35:46,750 INFO [kodo] ; D:
    15:35:46,750 INFO [kodo] 10/25/02 3:35 PM
    15:35:46,750 INFO [kodo] ]
    15:35:46,750 INFO [kodo] roll back data store transaction
    15:35:46,750 INFO [STDOUT] @@@ THE TRANSACTION IS
    com.solarmetric.kodo.ee.EEPersistenceManager@c954e
    15:35:46,750 ERROR [STDERR] javax.jdo.JDOException:
    java.lang.NullPointerException
    NestedThrowables:
    java.lang.NullPointerException
    15:35:46,765 ERROR [STDERR] at
    com.solarmetric.kodo.ee.EEPersistenceManager.rollback(EEPersistenceManager.java:169)
    15:35:46,765 ERROR [STDERR] at
    com.gulfnet.usermanager.UserManager.updateJobTitle(UserManager.java:1223)
    15:35:46,765 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.updateObject(JobTitleAction.java:115)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.doAction(JobTitleAction.java:65)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.processForm(JobTitleAction.java:44)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupCastAction.perform(GroupCastAction.java:52)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
    15:35:46,828 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
    15:35:46,828 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    15:35:46,828 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,828 ERROR [STDERR] at
    com.gulfnet.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:142)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    15:35:46,828 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,843 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,937 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
    15:35:46,953 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)
    15:35:46,953 ERROR [STDERR] NestedThrowablesStackTrace:
    15:35:46,953 ERROR [STDERR] java.lang.NullPointerException
    15:35:46,953 ERROR [STDERR] at
    com.solarmetric.kodo.ee.EEPersistenceManager.rollback(EEPersistenceManager.java:161)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.usermanager.UserManager.updateJobTitle(UserManager.java:1223)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.updateObject(JobTitleAction.java:115)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.doAction(JobTitleAction.java:65)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.JobTitleAction.processForm(JobTitleAction.java:44)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.common.actions.GroupCastAction.perform(GroupCastAction.java:52)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
    15:35:46,953 ERROR [STDERR] at
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
    15:35:46,953 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    15:35:46,953 ERROR [STDERR] at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,953 ERROR [STDERR] at
    com.gulfnet.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:142)
    15:35:46,953 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:46,968 ERROR [STDERR] at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    15:35:47,078 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
    15:35:47,093 ERROR [STDERR] at
    org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
    15:35:47,093 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)

    When I encounter an RuntimeException I do a transaction rollback manually.
    my try/catch is like the following:
    try {
    } catch (JDOFatalException e) {
         throw new MyException();
    } catch (RuntimeException e) {
         trans.rollback();
         throw new MyException();
    I am using JBoss3.0.3 with kodo.rar, using JDO's transaction interface.
    Should i be doing a trans.rollback manually() when I get a
    JDOException thrown i.e. should I have a separate catch for
    JDOExceptions? A lot of examples I see look like the above code.
    Kam
    Abe White wrote:
    Can you give a little more information about the context of the rollback?
    Are you invoking trans.rollback() yourself, or is it happening
    automatically
    because of a SQL error? It looks like you're using managed transactions?
    Are you using them through the local JDO transaction interface?
    Through CMT?
    Thanks for the report, in any case...

  • How to have the JTA transaction in ServiceEndpoint interface java method

    Hi,
    I have query how to have the JTA transaction in SEI(Service endpoint interface) generated by WSDL.
    I have a MDMListener (using MDM API) which looks for a recordchange in MDM repository which needs to be send to PI7.1 via soap request.
    1) I had imported the WSDL from ESR(PI) and generated outside-in proxy.
    2) Created ejb3.0 stateless session bean using NWDS
    3) Created web service client application by generating the WSDL again (by Generate client)
    4)Added a method callPI()with Service and i set the context with endpointaddress property as the soap location of the sender agreement configured in PI7.1.
    The damean thread listener(EventDispatcher) looks for MDM record change and it calls the method callPI() from ejbsession bean by lookup to transfer the record to PI7.1 system via webservices(web method). I hit the below error.
    Exception com.sap.engine.services.ts.exceptions.BaseIllegalStateException: Status of ( SAP J2EE Engine JTA Transaction : 06223ffffffa20048fffffffe ) should be active, but it is STATUS_COMMITTED = 3.
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronizationWithoutStatusChecks(TransactionImpl.java:672)
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronization(TransactionImpl.java:641)
    at com.sap.engine.services.ts.transaction.TxLevelSynchronizations.addSynchronization(TxLevelSynchronizations.java:118)
    at com.sap.engine.services.ts.transaction.TxManagerImpl.registerSynchronization(TxManagerImpl.java:829)
    at com.sap.transaction.TxManager.registerSynchronization(TxManager.java:303)
    at com.sap.engine.messaging.runtime.j2ee.sapengine.SAPTransactionManager.registerSynchronization(SAPTransactionManager.java:126)
    at com.sap.engine.messaging.impl.util.tx.TxController.<init>(TxController.java:83)
    //Method in the ejb stateless session bean
    @WebServiceRef (name="DistributeMasterDataService") DistributeMasterDataService service;
    @RelMessagingNW05DTOperation(enableWSRM=true)
    public void callPi(DistributeMasterDataRequestType req) {
    port.distributeMasterDataOutA(req);// the distributeMasterDataOutA is the method available in SEI..Here is the issue on JTA
    For the first time the message(req object)transmits to the PI successfully,but for the second call i hit this JTA Transaction :status should be active, but it is STATUS_COMMITTED = 3.
    I tried chanding the transactionmanagement from container to bean.
    @TransactionManagement(value=TransactionManagementType.BEAN)
    @TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW)
    I wanted to know how can i have the JTA transaction status in SEI(service enpoint interface)java method distributeMasterDataOutA.Since it is an interface i dont know what annotation can be used.
    If its possible i can try this UserTransaction,
    http://help.sap.com/saphelp_nw04/helpdata/de/f6/7a8df922db4ab79342b46c48dac7d0/content.htm
    ut.begin() & ut.commit(),so that everytime this method is called it will treat as a new transaction..
    Let me know if you need more details??,Any idea provided would be great.
    Thanks
    Sabarinathan

    Hello everybody,
    The issue resolved,we need to have the bean management transaction type and not the container.
    and the transactionattribute value as Requires New
    rgds
    Sabarinathan
    Edited by: Sabarinathan Selvaraj on May 12, 2009 2:17 PM

  • JTA Transaction does not work

    Hi,
    I am currently porting an application from Websphere 3.5 to Weblogic 6.1.
    I have an Oracle 8.1.7 database.
    I have a problem when rollbacking JTA transaction.
    I have a session bean manipulating Entity beans (CMP & BMP) within a single
    method.
    This method creates beans and then update them.
    The issue is that during the update, the application generates an exception
    (system or applicative). The method rollbacks the transaction, but if I look
    in the database, the insert requests are not rollbacked !
    I have tried two different approach:
    1) container manage transaction: I catch the exception and then call
    setRollbackOnly()
    2) bean manage transaction: I retrieve the user transaction, and apply the
    rollback on exception.
    What's wrong with that ? This actually works fine on Websphere.
    Regards
    Jacques Desmazieres

    Make sure that you are using a TxDataSource and not a plain DataSource.
    (This is configured in the console.)
    -- Rob
    Jacques Desmazieres wrote:
    Hi,
    I am currently porting an application from Websphere 3.5 to Weblogic 6.1.
    I have an Oracle 8.1.7 database.
    I have a problem when rollbacking JTA transaction.
    I have a session bean manipulating Entity beans (CMP & BMP) within a single
    method.
    This method creates beans and then update them.
    The issue is that during the update, the application generates an exception
    (system or applicative). The method rollbacks the transaction, but if I look
    in the database, the insert requests are not rollbacked !
    I have tried two different approach:
    1) container manage transaction: I catch the exception and then call
    setRollbackOnly()
    2) bean manage transaction: I retrieve the user transaction, and apply the
    rollback on exception.
    What's wrong with that ? This actually works fine on Websphere.
    Regards
    Jacques Desmazieres

  • JTA Transaction :status should be active, but it is STATUS_COMMITTED = 3

    Hi,
    I have query how to have the JTA transaction in SEI(Service endpoint interface) generated by WSDL.
    I have a MDMListener (using MDM API) which looks for a recordchange in MDM repository which needs to be send to PI7.1 via soap request.
    1) I had imported the WSDL from ESR(PI) and generated outside-in proxy.
    2) Created ejb3.0 stateless session bean using NWDS
    3) Created web service client application by generating the WSDL again (by Generate client)
    4)Added a method callPI()with Service and i set the context with endpointaddress property as the soap location of the sender agreement configured in PI7.1.
    The damean thread listener(EventDispatcher) looks for MDM record change and it calls the method callPI() from ejbsession bean by lookup to transfer the record to PI7.1 system via webservices(web method). I hit the below error.
    Exception com.sap.engine.services.ts.exceptions.BaseIllegalStateException: Status of ( SAP J2EE Engine JTA Transaction : 06223ffffffa20048fffffffe ) should be active, but it is STATUS_COMMITTED = 3.
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronizationWithoutStatusChecks(TransactionImpl.java:672)
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.registerSynchronization(TransactionImpl.java:641)
    at com.sap.engine.services.ts.transaction.TxLevelSynchronizations.addSynchronization(TxLevelSynchronizations.java:118)
    at com.sap.engine.services.ts.transaction.TxManagerImpl.registerSynchronization(TxManagerImpl.java:829)
    at com.sap.transaction.TxManager.registerSynchronization(TxManager.java:303)
    at com.sap.engine.messaging.runtime.j2ee.sapengine.SAPTransactionManager.registerSynchronization(SAPTransactionManager.java:126)
    at com.sap.engine.messaging.impl.util.tx.TxController.<init>(TxController.java:83)
    //Method in the ejb stateless session bean
    @WebServiceRef (name="DistributeMasterDataService") DistributeMasterDataService service;
    @RelMessagingNW05DTOperation(enableWSRM=true)
    public void callPi(DistributeMasterDataRequestType req) {
    port.distributeMasterDataOutA(req);// the distributeMasterDataOutA is the method available in SEI..Here is the issue on JTA
    For the first time the message(req object)transmits to the PI successfully,but for the second call i hit this JTA Transaction :status should be active, but it is STATUS_COMMITTED = 3.
    I tried chanding the transactionmanagement from container to bean.
    @TransactionManagement(value=TransactionManagementType.BEAN)
    @TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW)
    I wanted to know how can i have the JTA transaction status in SEI(service enpoint interface)java method distributeMasterDataOutA.Since it is an interface i dont know what annotation can be used.
    If its possible i can try this UserTransaction,
    http://help.sap.com/saphelp_nw04/helpdata/de/f6/7a8df922db4ab79342b46c48dac7d0/content.htm
    ut.begin() & ut.commit(),so that everytime this method is called it will treat as a new transaction..
    Let me know if you need more details??,Any idea provided would be great.
    Thanks
    Sabarinathan
    Edited by: Sabarinathan Selvaraj on May 7, 2009 12:31 PM
    Edited by: Sabarinathan Selvaraj on May 7, 2009 12:32 PM

    Hi,
    May be i have not mention the issue clearly.Let me know mention the issue with details.
    I have a MDMListener (using MDMPI) which looks for a  recordchange in MDM repository which needs to be send to PI7.1 via soap request.
    1) I had imported the WSDL from ESR(PI) and generated outside-in proxy.
    2) Created ejb3.0 stateless session bean using NWDS
    3) Created web service client application by generating the WSDL again (by Generate client)
    4)Added a method callPI()with Service and  i set the context with endpointaddress property as the soap location of the sender agreement configured in PI7.1.
    @WebServiceRef (name="DistributeMasterDataService") DistributeMasterDataService service;
         @RelMessagingNW05DTOperation(enableWSRM=true)     
         public void callPi(DistributeMasterDataRequestType req) {
    port.distributeMasterDataOutA(req);// the distributeMasterDataOutA is a method available in SEI
    For the first time the message(req object)transmits to the PI successfully,but for the second call i hit this JTA Transaction :status should be active, but it is STATUS_COMMITTED = 3.
    I tried chanding the transactionmanagement from container to bean.
    @TransactionManagement(value=TransactionManagementType.BEAN)
    @TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW)
    I wanted to know how can i have the JTA transaction status in SEI(service enpoint interface)java method  distributeMasterDataOutA.Since it is an interface i dont know what annotation can be used.
    If its possible i can try this UserTransaction,  ut.begin() &   ut.commit(),so that everytime this method is called it will treat as a new transaction..
    Let me know if you need more details??,Any idea provided would be great.
    Thanks
    Sabarinathan

  • OSB Dynamic Routing and Transaction Rollback

    Hi,
    I have implemented dynamic routing to different jms business services.
    That's the flow:
    1. I have a proxy service which is invoked via a message delivered to a jms queue(XA connection factory), this queue is configured with
    Error Destination, expiration policy redirect, redelivery limit 5 and redelivery delay override 100
    2. I use a dynamic routing action
    <ctx:route isProxy="false">
    <ctx:service>
    $businessServiceXXX
    </ctx:service>
    </ctx:route>
    where $businessServiceXXX is a variable to hold my target jms business service, its value depends on some incoming inbound headers.
    3. if the endpoint is not correct(business service endpoint is dynamic) I catch the error in a Error handler, I raise an Error but :
    THE MESSAGE IS NOT REDIRECTED TO THE ERROR QUEUE.
    I know I could solve the issue with another approach like an external table to capture(fix) the endpoints, but it won't be so flexible in terms of deployment capability.
    Any Ideas ?
    Thanks,
    T.

    Hi Tony,
    Tested this in ALSB 2.5 . Transaction rollbacks fine when error in dynamic routing. I am attaching the test JMS proxy we have used for this.
    We had XA enabled CF for JMS proxy service and target JMS BS. The dynamic route was configured in route node with no route error handler or service error handler. The test case was to pause the target JMS queue for production. We could see messages rolling back to the source queue and getting redelivered.
    Attaching the Sbconfig for this proxy. Proxy Name: Dynamic Routing
    <?xml version="1.0" encoding="UTF-8"?>
    <xml-fragment name="DynamicRouting">
    <ser:coreEntry isEnabled="true" isProxy="true" name="DynamicRouting" isAutoPublish="false" xmlns:ser="http://www.bea.com/wli/sb/services">
    <ser:description/>
    <ser:binding type="abstract XML"/>
    </ser:coreEntry>
    <ser:endpointConfig xmlns:ser="http://www.bea.com/wli/sb/services">
    <tran:provider-id xmlns:tran="http://www.bea.com/wli/sb/transports">jms</tran:provider-id>
    <tran:inbound xmlns:tran="http://www.bea.com/wli/sb/transports">true</tran:inbound>
    <tran:URI xmlns:tran="http://www.bea.com/wli/sb/transports">
    <env:value xmlns:env="http://www.bea.com/wli/config/env">jms://localhost:7001/XACF/InputQueue</env:value>
    </tran:URI>
    <tran:inbound-properties xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:all-headers xmlns:tran="http://www.bea.com/wli/sb/transports">false</tran:all-headers>
    <tran:provider-specific xsi:type="jms:JmsEndPointConfiguration" xmlns:jms="http://www.bea.com/wli/sb/transports/jms" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <jms:is-queue>true</jms:is-queue>
    <jms:is-secure>false</jms:is-secure>
    <jms:inbound-properties>
    <jms:response-required>false</jms:response-required>
    </jms:inbound-properties>
    <jms:request-encoding>UTF-8</jms:request-encoding>
    </tran:provider-specific>
    </ser:endpointConfig>
    <ser:router xmlns:ser="http://www.bea.com/wli/sb/services">
    <con:pipeline name="PipelinePairNode1_request" type="request" xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:stage name="Configuration">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:assign varName="input" xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
    <con1:expr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config"><![CDATA[<root>
    <type value="jms">
              <service>DynamicRouting/BusinessService/JMS</service>
         </type>
         <type value="http">
         <service>DynamicRouting/BusinessService/HTTP</service>
         <operation>Test</operation>
         </type>
    </root>]]></con:xqueryText>
    </con1:expr>
    </con1:assign>
    </con:actions>
    </con:stage>
    </con:pipeline>
    <con:pipeline name="PipelinePairNode1_response" type="response" xmlns:con="http://www.bea.com/wli/sb/pipeline/config"/>
    <con:flow xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:pipeline-node name="PipelinePairNode1">
    <con:request>PipelinePairNode1_request</con:request>
    <con:response>PipelinePairNode1_response</con:response>
    </con:pipeline-node>
    <con:route-node name="DynamicRoute">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:dynamic-route xmlns:con1="http://www.bea.com/wli/sb/stages/routing/config">
    <con1:service>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">&lt;ctx:route>
         &lt;ctx:service isProxy="false">{data($input/*:type[@value=$body/*:body/*:type/text()]/*:service)}&lt;/ctx:service>
              if($input/*:type[@value=$body/*:body/*:type/text()]/*:operation) then
                   &lt;ctx:operation>{data($input/*:type[@value=$body/*:body/*:type/text()]/*:operation)}&lt;/ctx:operation>
    else()
    &lt;/ctx:route></con:xqueryText>
    </con1:service>
    <con1:outboundTransform>
    <con2:routing-options xmlns:con2="http://www.bea.com/wli/sb/stages/transform/config">
    <con2:uriExpr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">$body/*:body/*:url/text()</con:xqueryText>
    </con2:uriExpr>
    </con2:routing-options>
    </con1:outboundTransform>
    <con1:responseTransform/>
    </con1:dynamic-route>
    </con:actions>
    </con:route-node>
    </con:flow>
    </ser:router>
    </xml-fragment>
    Regards,
    Atheek
    Edited by: atheek1 on 27-Apr-2010 19:48

Maybe you are looking for

  • Really need help with this, can't use safari on my ipod

    I clicked on a link on a website for my school, and then it opened in another page. idk if i clicked something or this happened on its own, but then a video tried to open from the image. I've messed around with my settings, and i can't seem to be abl

  • Problems with iTunes update

    Normally iTunes is working alright... but everytime, if iTunes has an update, there are a lot of problems with it. 1.) The iTunes-Store cannot be found. You can see on the status monitor, that the programm is running, but after a while i can see a er

  • Slow downloads

    I contacted Apple because upon trying to update my iPad Air 2 to ios 8.1.3 the download time was in excess of 24 hours!  This is using a MacBook Pro Retina on a wired 20Mbps DSL line.  I was told that this was normal!  I think not!!!!  Especially whe

  • Hp pavillion looks like it is in safe mode when its not

    Hi,  I have a hp pavillion slimline desktop computer and i had to get it looked at today because the last few weeks it's been acting up on me. it started off with the screen changing different colours like, green and blue and then pinky/red squares t

  • Using legacy DLLs on a Linux system

    We are converting some of our apps to a Linux platform. The problem is some of our vendors furnish their SDKs only in Windows DLLs. Does anyone know of a method to communicate between the Linux app and the Windows DLL on the same Linux box. Michael