Local transaction support when BPEL invokes JCA adapter

Hi all,
I've implemented a BPEL process consisting of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS.
My concern is to support local transactions. Here are some code snippets describing what I've done so far.
Declare the transaction support at deployment time (ra.xml)
<transaction-support>LocalTransaction</transaction-support>Implementer class of ManagedConnection interface
public class MyManagedConnection implements ManagedConnection {
     public XAResource getXAResource() throws ResourceException {
         throw new NotSupportedException("XA Transactions not supported");
     public LocalTransaction getLocalTransaction() throws ResourceException {
         return new MyLocalTransaction(this);
        public void sendTheEvent(int eventType, Object connectionHandle) {
             ConnectionEvent event = new ConnectionEvent(this, eventType);
             if (connectionHandle != null) {
                event.setConnectionHandle(connectionHandle);
            ConnectionEventListener listener = getEventListener();
         switch (eventType) {
          case ConnectionEvent.CONNECTION_CLOSED:
               listener.connectionClosed(event); break;
          case ConnectionEvent.LOCAL_TRANSACTION_STARTED:
               listener.localTransactionStarted(event); break;
          case ConnectionEvent.LOCAL_TRANSACTION_COMMITTED:
               listener.localTransactionCommitted(event); break;
          case ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK:
               listener.localTransactionRolledback(event); break;
          case ConnectionEvent.CONNECTION_ERROR_OCCURRED:
               listener.connectionErrorOccurred(event); break;
          default: break;
}Implementer class of LocalTransaction interface
public class MyLocalTransaction implements javax.resource.spi.LocalTransaction {
     private MyManagedConnection mc = null;
     public MyLocalTransaction(MyManagedConnection mc) {
         this.mc = mc;
     @Overide
     public void begin() throws ResourceException {
         mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_STARTED, mc);
     @Override
     public void commit() throws ResourceException {
         eis.commit(); //eis specific method
         mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_COMMITTED, mc);
     @Override
     public void rollback() throws ResourceException {
         eis.rollback(); //eis specific method
         mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK, mc);
}Uppon BPEL process completion, MyLocalTransaction.commit() is called. However, localTransactionCommitted(event) fails and I get the following error:
Error committing transaction:; nested exception is: weblogic.transaction.nonxa.NonXAException: java.lang.IllegalStateException:
[Connector:199175]This ManagedConnection is managed by container for its transactional behavior and has been enlisted to JTA transaction by container;
application/adapter must not call the local transaction begin/commit/rollback API. Reject event LOCAL_TRANSACTION_COMMITTED from adapter.Could someone give me some directions to proceed ?
My current installation consists of:
1. Oracle SOA Suite / JDeveoper 11g (11.1.1.4.0),
2. WebLogic Server 10.3.4
Thank you for your time,
George

Hi Vlad, thank you again for your immediate response.
With regards to your first comment. I already have been using logs, so I confirm that neither javax.resource.spi.LocalTransaction#begin() nor javax.resource.spi.LocalTransaction#commit()
is called in the 2nd run.
I think it might be helpful for our discussion if I give you the call trace for a successful (the first one) run.
After I deploy my custom JCA Resource Adapter, I create a javax.resource.cci.ConnectionFactory through Oracle EM web application and the following methods are called:
-- MyManagedConnectionFactory()
(Constructor of the implementer class of the javax.resource.spi.ManagedConnectionFactory interface)
-- javax.resource.spi.ManagedConnectionFactory#createManagedConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
-- MyManagedConnection()
(Constructor of the implementer class of the javax.resource.spi.ManagedConnection interface)
-- javax.resource.spi.ManagedConnection#addConnectionEventListener(javax.resource.spi.ConnectionEventListener)
-- javax.resource.spi.ManagedConnection#getLocalTransaction()
-- MySpiLocalTransaction(MyManagedConnection)
(Constructor of the implementer class of the javax.resource.spi.LocalTransaction interface)
-- javax.resource.spi.ManagedConnectionFactory#createConnectionFactory(javax.resource.spi.ConnectionManager)
-- MyConnectionFactory(javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.ConnectionManager)
(Constructor of the implementer class of the javax.resource.cci.ConnectionFactory interface)BPEL process consists of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS. Client tester invokes BPEL process, and execution starts.
Here is the method call trace for the last invoke (after which, commit is executed). The logs for all the rest invocations are identical:
-- javax.resource.cci.ConnectionFactory#getConnection()
-- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
-- MyConnection(MyManagedConnection)
(Constructor of the implementer class of the javax.resource.cci.Connection interface)
-- javax.resource.cci.Connection#close()
(I don't understand why close() is called here, any idea ?)
-- javax.resource.cci.ConnectionFactory#getConnection()
-- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
-- MyConnection(MyManagedConnection)
(Constructor of the implementer class of the javax.resource.cci.Connection interface)
-- javax.resource.cci.Connection#createInteraction()
-- MyInteraction(javax.resource.cci.Connection)
(Constructor of the implementer class of the javax.resource.cci.Interaction interface)
-- javax.resource.cci.Interaction#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
-- javax.resource.spi.LocalTransaction#commit()I would expect that after the last commit() - meaning that BPEL process is done, and its state is "Completed" - Weblogic server would call the following:
javax.resource.cci.Connection#close()However it doesn't. Do I miss something ?

Similar Messages

  • The invoked JCA adapter raised a resource exception.

    Hello,
    I have to use an Oracle apps adapter in Bpel. Thus I created a non-XA datasource and a connection pool for the Oracle Apps Adapter - eis/Apps/DS with its datasource as jdbc/DS. Now when I invoke the Oracle apps adapter, i get the following error in the standalone weblogic server.
    The selected operation ProcessApprove could not be invoked.
    An exception occured while invoking the webservice operation. Please see logs for more details.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'MyAppAdapter' failed due to: Apps Context Error.
    Error occurred while setting up Apps Context.
    Context parameters should be valid.
    Contact oracle support if error is not fixable.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    How do I resolve?? Any help please.
    Thanks

    Hello,
    I have to use an Oracle apps adapter in Bpel. Thus I created a non-XA datasource and a connection pool for the Oracle Apps Adapter - eis/Apps/DS with its datasource as jdbc/DS. Now when I invoke the Oracle apps adapter, i get the following error in the standalone weblogic server.
    The selected operation ProcessApprove could not be invoked.
    An exception occured while invoking the webservice operation. Please see logs for more details.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'MyAppAdapter' failed due to: Apps Context Error.
    Error occurred while setting up Apps Context.
    Context parameters should be valid.
    Contact oracle support if error is not fixable.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    How do I resolve?? Any help please.
    Thanks

  • How to set timeout when BPEL Invokes EBS API in 10G

    I am invoking a EBS API through Oracle Applications Adapter in my BPEL, During the execution of my BPEL Process, if my EBS API call takes more than 10s, i want it to timeout. Can you please let me know how can i achieve it. I tried using the <property name="timeout">10</property> <property name="optSoapShortcut">false</property> in the partnerlink defintion, but it didnt help.

    Thanks Arik and vijay for your response,
    syncMaxWaitTime needs to be set at the domain level, then it would timeout all the services that are deployed on my environment. Property transaction-timeout and syncMaxWaitTime will not resolve the issue, because i need to achieve the timeout for a particular service only (Sorry, I should have mentioned in the problem statement that i need to implement the timeout for a specific service).
    I tried the PartnerLink timeout property along with optSoapShortcut but timeout is not happening.
    If you could provide me any other alternative solutions that would help me to timeout the call to EBS using a Oracle Applications Adapter in BPEL 10g Invoke activity.
    Wish you a belated Happy Christmas and advanced New Year wishes.
    Regards,
    Sivananda
    Edited by: 978071 on Dec 26, 2012 2:43 AM
    Edited by: 978071 on Dec 26, 2012 2:44 AM

  • Different when BPEL invoked from Console & from a JSP

    Hi All,
    I have a very Simple BPEL Process which, which when invoked from the BPEL Console is working fine, but when invoked from the JSP, throws a "SelectionFailure" Fault in the Assign activity.
    Can anyone help?
    Thanks
    Chandra

    In the audit trail, under the "receiveInput" activity, I'm able to see the values that I passed as the Input, but in the next "assignActivity", it throws this selectionFailure Fault saying the variable value is empty.
    My input is only 1 value and the XML is pretty straight forward.

  • Error Invoking Database Adapter

    I am trying to create a simple bpel process which updates table in Oracle Database, but getting some JCA connection issue below:
    "<bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. Project1:writeDB [ writeDB_ptt::insert(ContactOutputCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element &lt;connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the &lt;connection-factory/> element: location='eis/DB/XE_DB'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '&lt;jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/XE_DB. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary></part><part name="detail"><detail>JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element &lt;connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the &lt;connection-factory/> element: location='eis/DB/XE_DB'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '&lt;jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/XE_DB. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server </detail></part><part name="code"><code>12510</code></part></bindingFault></bpelFault>"
    thanks

    Hi
    Checklist
    1) Create DataSource
    2) Connection Pool in the DB Adapter(with jndi eis/DB/XE_DB)
    Edit the default connection pool created and point the xaDataSource or Datasource to jndi of datasource created in step1
    Regards,
    Ajay

  • Error Occured while Invoking FTP adapter

    Hi all, i am trying a simple FTP, a one way BPEL process and an invoke activity with FTP(partnerlink) put operation. I just assigned the inputelement to the opaque element of the partnerlink input variable.
    When i try to deploy the process i see the fallowing error in faults. The jndi is configured correctly and tested
    <bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Put' failed due to: Error in establishing connection to FTP Server. Error in establishing connection to FTP Server. Unable to establish connection to server. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary></part><part name="detail"><detail>Connection refused</detail></part><part name="code"><code>null</code></part></remoteFault></bpelFault>
    Please help me out guys..
    Thanks in advance

    I gave the right host name and password.
    and here is the error when i tried to see the flow of the Process
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Put' failed due to: Connection closed error.
    Connection closed error.
    Connection closed for Host: *******.**.****.com
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    </part>
    -<part name="detail">
    <detail>
    Connection closed error.
    Connection closed error.
    Connection closed for Host: *******.**.****.com
    Please make sure that the ftp server is up.
    and my ftp server is up too,
    Thanks ....

  • Problem with DB JCA adapter in Soa suite 11g composite appl

    i am testing a simple credit card validation composite with Oracle SOA suite 11g11.1.1.4.0, Jdevloper 11.1.1.3.0 and oracle universal XE DB. I am having an exception given below. I have checked that data source is properly configured and appearing at the right place in JNDI tree. Suggestion like 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/DBconnection. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR) has also been tried result is same
    **Any suggestion will greatly appreciated .**
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/DB/DBconnection'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/DBconnection. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:575) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298) 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.sun.el.parser.AstValue.invoke(Unknown Source) at com.sun.el.MethodExpressionImpl.invoke(Unknown Source) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:765) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:305) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:101) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emas.fwk.MASConnectionFilter.doFilter(MASConnectionFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.AuditServletFilter.doFilter(AuditServletFilter.java:179) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:203) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.model.targetauth.EMLangPrefFilter.doFilter(EMLangPrefFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.app.perf.PerfFilter.doFilter(PerfFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:542) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176) Caused by: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/DB/DBconnection'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/DBconnection. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:260) at oracle.sysman.emSDK.webservices.wsdlparser.OperationInfoImpl.invokeWithDispatch(OperationInfoImpl.java:992) at oracle.sysman.emas.model.wsmgt.PortName.invokeOperation(PortName.java:729) at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:569) ... 79 more Caused by: javax.xml.ws.soap.SOAPFaultException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'CreditCardDBServiceSelect' failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. CreditCardValidation:CreditCardDBService [ CreditCardDBService_ptt::CreditCardDBServiceSelect(CreditCardDBServiceSelect_inputParameters,CreditcardsCollection) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/DB/DBconnection'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/DB/DBconnection. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:1012) at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:803) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106) at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:256) ... 82 more

    Hi,
    The JNDI Name to use for the service connection is "eis/DB/soademoDatabase".
    This Database is a requirement of the course... (Chapter 4 of Getting Started with Oracle SOA Suite 11g R1 - A Hands-On Tutorial).

  • Issue: BPEL invoking Axis web service

    Hi
    We are calling a Axis web service from BPEL.. The web service has been defined to be a request only 1 way service. The axis service takes around 3-5 minutes to complete the job( data insertion in DB).. But seems like when BPEL invokes the web service; BPEL thread is waiting (thread is not released) and the BPEL process does not move forward until the web service completes the job....
    Any pointers on how the deal with the issue will be helpful!!
    Thanks

    Hi Lovenish,
    Goto console-> select domain> Configuration->JTA
    Check timeout seconds.
    2. i don't know what kind of partner link you are invoking.
    check composite.xml, is there any property like retry.interval .
    3. ◦SyncMaxWaitTime: The maximum time a request and response operation takes before timing out.
    The maximum time a request/response operation will take before it times out. The default value is 45 seconds.
    Regards,
    Padmanabham

  • JCA: Sample Adapter Transaction Support

    Hi guys,
      Could anyone tell me the transaction level supported by Sample Adapter.In the code they are using SAPResourceAdapter to access the J2EE Thread Manager.But in the code it has given that it won't support Local Transaction or XA Resource.
      So what is the Transaction level supported by Sample Adapter.
    regards,
    siva.

    You have to distinguish between 1) the Transaction level support of the J2EE Connector Architecture (JCA) and 2) the internal usage of the J2EE transaction manager.
    Ad 1) the XI docu says <i>JCA resource adapters can provide all kinds of JCA transactions. The Adapter Framework does not use them</i>. That's why the sample adapter uses NoTransaction.
    Ad 2): The transaction manager has to be used for asynchronous processing (QoS Exactly Once). This is used for transaction management inside the adapter. For details see the sample adapter code or the Adapter Development docu http://help.sap.com/saphelp_nw04/helpdata/en/59/59d6409ff68631e10000000a1550b0/content.htm

  • How do I run a JCA adapter when I am calling it from an EJB?

    How do I run a JCA adapter when I am calling it from an EJB? Do I need to create an EJB client and place it in a Client container? If my EJB and JCA adapter are deployed is there a way to call my EJB from the command line?
    Mike

    Hi. When you look at the code I provided for you in other thread you will see that connecting to adapter is done through JNDI lookup. The creation of the adapter is done in your J2EE server. Here is some code for you where you can find mapping from code to ejb-jar and orion-ejb-jar.
    ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
    version="2.1">
    <!--
    This file declares the interface (needs/promises) of the message-driven bean.
    The MDB requires:
    - a JMS queue (to receive messages from the client),
    - a JMS exception queue (to send undeliverable messages back to the source), and
    - a connection factory (to communicate with a JMS resource provider).
    Note that communication with the resource provider may be (and for this
    application is) via a JMS Connector rather than direct.
    -->
    <display-name>JMS Consume MDB - opp-ifs</display-name>
    <enterprise-beans>
    <entity>
    <description>Entity Bean ( BMP )</description>
    <display-name>EBEjbMecomsIFS</display-name>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-class>EBEjbMecomsIFSBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>false</reentrant>
    <service-ref>
    <service-ref-name>service/interceptor</service-ref-name>
    <service-interface>javax.xml.rpc.Service</service-interface>
    <wsdl-file>META-INF/wsdl/MHS5_Jms_In_RS.wsdl</wsdl-file>
    <service-qname xmlns:ns="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5">ns:ESB_MHS5_Jms_In_RS_Service</service-qname>
    </service-ref>
    </entity>
    <message-driven>
    <display-name>JMS Consume MDB - MDB</display-name>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <!-- name of bean in deployment descriptor (including orion-ejb-jar.xml file) -->
    <ejb-class>MDBEjbMecomsIFSBean</ejb-class>
    <!-- bean's fully qualified Java class name -->
    <messaging-type>javax.jms.MessageListener</messaging-type>
    <transaction-type>Container</transaction-type>
    <!-- allow incoming messages to be included in transactions -->
    <!-- The ejb requires a connection factory to access an external resource (JMS). -->
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/EBEjbopp_ifs</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-link>EBEjbMecomsIFS</ejb-link>
    </ejb-local-ref>
    <resource-ref>
    <!-- The resource's connection factory must be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". -->
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <!-- The resource's connection factory must implement the "javax.jms.ConnectionFactory" interface. -->
    <res-type>javax.jms.ConnectionFactory</res-type>
    <!-- container managed authorization -->
    <res-auth>Container</res-auth>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <!--
    Declare that a global transaction is required when the onMessage method of the ejb named
    "MDBEjbName" is called. This will cause the app server to automatically initiate a
    global (XA) transaction before calling onMessage (actually, before even receiving the JMS
    message that triggers onMessage) and end the transaction after onMessage returns. The
    JMS Connector will automatically rollback the transaction if onMessage throws an
    exception. onMessage may also set the transaction to be "rollback only".
    Participating in global transactions requires that the connection factory provided in the
    activation spec (see the ConnectionFactoryJndiName property earlier in this file) must be
    XA-capable (it must implement the javax.jms.XAConnectionFactory interface).
    If this declaration is ommitted, then onMethod will not be part of any global
    transaction. In that case the connection factory provided in the activation spec must
    implement the javax.jms.ConnectionFactory interface.
    -->
    <container-transaction>
    <method>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <method-name>onMessage</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    orion-ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNameSpaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/orion-ejb-jar-10_0.xsd">
    <enterprise-beans>
    <entity-deployment name="EBEjbMecomsIFS">
    <service-ref-mapping name="service/interceptor">
    <wsdl-location>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS?wsdl</wsdl-location>
    <service-qname localpart="ESB_MHS5_Jms_In_RS_Service" namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"/>
    <port-info>
    <wsdl-port namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"
    localpart="__soap_MHS5_Jms_In_RS_execute_ppt"/>
    <service-endpoint-interface>javax.xml.rpc.Service</service-endpoint-interface>
    <call-property>
    <name>javax.xml.rpc.service.endpoint.address</name>
    <value>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.uri</name>
    <value>execute</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.use</name>
    <value>true</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.operation.style</name>
    <value>document</value>
    </call-property>
    <runtime enabled="owsm">
    <owsm init-home="/oracle/product/SoaAs/10.1.3/owsm/config/interceptors/C0003002"
    init-file="confluent.properties"/>
    </runtime>
    </port-info>
    </service-ref-mapping>
    </entity-deployment>
    <message-driven-deployment name="MDBEjbMecomsIFS"
    resource-adapter="OEMSJMSDRAopp-ifs"
    enabled="true" max-instances="10">
    <!--
    The ejb requires a connection factory implementing the "javax.jms.XAConnectionFactory"
    interface to be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". (see ejb-jar.xml and ....)
    A suitable connection factory is already accessible at jndi location "OEMSJMSDRASubcontext/MyXACF" (see oc4j-ra.xml)
    -->
    <resource-ref-mapping location="OEMSJMSDRASubopp-ifs/MyXACF"
    name="jms/QueueConnectionFactory"/>
    <!-- don't misspell this or you'll get an RP CF which doesn't work -->
    <!-- Required activation-spec properties. -->
    <!--
    ConnectionFactoryJndiName (string, no default)
    This should be the JNDI location of an RA connection factory.
    The JMS Connector will use this connection factory to create the JMS
    connection it uses to receive messages for this MDB's onMessage. If the
    exception queue is enabled (see UseExceptionQueue), the JMS Connector will
    also use a connection created from this connection factory for the production
    of messages to the exception queue.
    This connection factory must be compatible with the message domain(s). (For
    example, if the MDB is receiving messages from a queue, the connection
    factory should implement javax.jms.[XA]QueueConnectionFactory or
    javx.jms.[XA]ConnectionFactory.)
    For XA/non-XA considerations, see the <container-transaction> comments later
    in this file.
    -->
    <config-property>
    <config-property-name>ConnectionFactoryJndiName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyXAQCF</config-property-value>
    </config-property>
    <!--
    DestinationName (string, no default)
    This is JNDI location of the queue or topic from which messages to be
    delivered to the MDB's onMessage method should be received.
    The JNDI locations for RA destinations are defined in the
    oc4j-connectors.xml file.
    -->
    <config-property>
    <config-property-name>DestinationName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyQ</config-property-value>
    </config-property>
    <!--
    DestinationType (string, no default)
    This must be set to the type of the destination named by the above
    "DestinationName" property.
    The EJB 2.1 spec states that this must be set to either javax.jms.Queue or
    javax.jms.Topic. OracleGJRA also allows it to be set to
    javax.jms.Destination (which works for both queues and topics).
    -->
    <config-property>
    <config-property-name>DestinationType</config-property-name>
    <config-property-value>javax.jms.Queue</config-property-value>
    </config-property>
    <!--
    Other activation-spec properties.
    The following activation-spec properties supported by OracleGJRA are optional
    except where otherwise noted:
    -->
    <!--
    ListenerThreadMaxPollInterval (milliseconds, 5000)
    Listener threads "poll" to see if there is a message waiting to be processed.
    The more frequently this polling is performed, the faster (on average) a given
    listener thread can respond to a new message. The price for frequent polling is
    overhead - the resource provider must process a receive request each time it is
    polled.
    Oracle's JMS Connector implementation applies an adaptive algorithm which
    uses shorter polling intervals (high polling rates) during periods of activity
    (once activity is noticed) and longer polling intervals (lower polling rates)
    during periods of inactivity. The ListenerThreadMaxPollInterval property places
    an upper limit on the polling interval used by this adaptive algorithm.
    -->
    <config-property>
    <config-property-name>ListenerThreadMaxPollInterval</config-property-name>
    <config-property-value>5000</config-property-value>
    </config-property>
    <!--
    AcknowledgeMode (string, default = Auto-acknowledge)
    This should be set to Auto-acknowledge or Dups-ok-acknowledge. This
    controls the quality-of-service provided by listener threads which
    consume messages and call the MDB's onMessage method.
    MessageSelector (string, default = no message filtering)
    This is the selector expression used to filter messages sent to the
    MDB's onMessage method. (I.e., this is used as the messageSelector for
    the JMS sessions created for the listener threads.)
    SubscriptionDurability (string, default = NonDurable)
    For topics this should be set to Durable or NonDurable. (This should
    not be set for queues.) This controls the durability of the topic
    consumer used by the listener thread. When SubscriptionDurability is
    set to Durable (and DestinationType is javax.jms.Topic or
    javax.jms.Destination), the SubscriptionName property is required.
    SubscriptionName (string, no default)
    This property is required when SubscriptionDurability is Durable (and
    DestinationType is javax.jms.Topic or javax.jms.Destination). (In all
    other cases it is ignored.) This is the name used when creating the
    durable subscriber used by the listener thread. For a given JMS server,
    a given subscription name should be assigned to at most one MDB (which
    must have most one listener thread).
    ClientId (string, no default)
    If set, connection(s) used by the listener threads will be set to use
    this client ID.
    TransactionTimeout (milliseconds, default = 300,000)
    This limits the amount of time that the JMS Connector will wait for a
    message to arrive before exiting the current transaction. The
    transaction manager limits the amount of time a transaction can last
    (see transaction-timeout in transaction-manager.xml).
    TransactionTimeout should be set such that the transaction manager will
    not timeout the transaction during the onMessage routine unless
    something is wrong. For example, If the transaction mananager timeout
    is set to 30 seconds, and the onMessage routine will never take more
    than 10 seconds unless something is wrong, then this property could be
    set to 20 seconds (20000 milliseconds).
    EndpointFailureRetryInterval (milliseconds, default = 60,000)
    If an endpoint can not be processed (due to the app server WorkManager
    not accepting new work), it will be scheduled to be retried this many
    milliseconds later.
    ReceiverThreads (integer, default = 1)
    This sets the maximum number of listener threads to create for this
    endpoint. For queues, using more than one thread may be useful in
    increasing the rate at which messages can be consumed. For topics this
    value should always be 1. (Each listener thread gets its own session
    and TopicSubscriber. For durable subscribers it would be an error to
    have more than one subscriber with the same subscription name. For
    nondurable subscribers having more than one thread will not help because
    more threads translates into more subscribers which translates into more
    copies of each message.) See also: ListenerThreadMinBusyDuration
    UseExceptionQueue (boolean, default = false)
    When "UseExceptionQueue" is true:
    - Messages that would otherwise be discarded are sent to the
    exception queue. (Currently the only case where this happens is
    when the max delivery count is exceeded. See MaxDeliveryCnt
    property.) Rather than sending the original message directly to
    the exception queue, the following procedure is used:
    o Create a new message of the same type.
    o Copy the properties and body from the original message to the
    new message.
    o If the headers were copied, sending the message to the
    exception queue would cause most of them to be lost
    (over-written by the resource-provider). So instead,
    translate headers in the original to properties in the copy,
    assigning each header obtained via "getJMS{Header}" to
    property "GJRA_CopyOfJMS{Header}". Since
    javax.jms.Destination is not a valid property type, translate
    destination headers into descriptive messages.
    (Currently this same service is not provided for JMSX*
    properties, most notably the JMSXDeliveryCount property.)
    o If some part of the copy process (above) or augmentation
    process (below) fails, do not abort. Attempt to complete the
    rest of the procedure. (For Bytes/Map/Stream message types,
    this can mean that part of the body is copied and the rest is
    not.)
    o If the copy process is 100% successful, add a boolean property
    called "GJRA_CopySuccessful" with the value "true".
    o Add a string property called "GJRA_DeliveryFailureReason" which
    indicates why the message was not delivered.
    o If the MDB onMessage method generated an exception immediately
    prior to the delivery failure, add a string property called
    "GJRA_onMessageExceptions" which contains exception information.
    o Send the resulting message to the exception queue.
    Note that only one attempt is made to send the message to the
    exception queue. Should this attempt fail, the message will
    be discarded without being placed in the exception queue.
    See IncludeBodiesInExceptionQueue property for potential variations
    of the above procedure.
    - The ExceptionQueueName property is required.
    - In addition to being used for the primary destination, the
    connection factory specified by the ConnectionFactoryJndiName
    property will also be used for the exception queue. If the primary
    destination (specified by the DestinationName property) is a topic,
    then the connection factory must support both queues and topics.
    (I.e., the <connectionfactory-interface> [see oc4j-ra.xml] for the
    given connection factory must be either javax.jms.ConnectionFactory
    or javax.jms.XAConnectionFactory.)
    ExceptionQueueName (string, no default)
    This is the JNDI location of the javax.jms.Queue object to use as the
    exception queue. (See UseExceptionQueue property for information about
    the use of the exception queue.) This property is required when
    UseExceptionQueue is true, and ignored when UseExceptionQueue is false.
    IncludeBodiesInExceptionQueue (boolean, default = true)
    This controls whether or not messages sent to the exception queue will
    include a message body. (See UseExceptionQueue property for information
    about the use of the exception queue.) If many messages are sent to the
    exception queue during normal operation and the message body is of no
    use in the exception queue, then this property may be set false to
    improve performance. This property is ignored when UseExceptionQueue is
    false. There are two cases where this property does not apply:
    - If the original message did not have a message body, then the
    message sent to the exception queue will not have one either.
    - If a copy of the original message can not be created for any
    reason, then the original may be sent to the exception queue
    instead. This may result in a message body being sent to the
    exception queue.
    MaxDeliveryCnt (integer, default = 5)
    If a message has the "JMSXDeliveryCount" property and the value of that
    property is greater than MaxDeliveryCnt, then the message will be
    discarded (and not sent to onMessage). If the exception queue is
    enabled (see UseExceptionQueue), a copy of the message will be sent to
    the exception queue. If MaxDeliveryCnt is set to 0, no messages will be
    discarded. (Note that when an MDB responds to a message by throwing an
    exception, the message is not considered delivered and it may be
    redelivered. If the MDB might always respond to a given message by
    throwing an exception, and MaxDeliveryCnt is set to 0 to prevent the
    message from ever being discarded, the result may be an MDB stuck in an
    "infinite loop" - failing to process the same message over and over
    again.)
    -->
    <config-property>
    <config-property-name>MaxDeliveryCnt</config-property-name>
    <config-property-value>0</config-property-value>
    </config-property>
    <!--
    LogLevel (string, no default)
    This controls the level of detail of messages logged by the JMS
    Connector. These messages are primarily intended for debugging the
    JMS Connector itself, but may also be useful when debugging issues
    related to the use of the JMS Connector. This property should not be
    set in production code. (It should only be set temporarily for
    debugging purposes - specific log messages and log levels may be and
    will be added/removed/modified in future versions of the JMS
    Connector.) Currently the allowed values are:
    ConnectionPool
    ConnectionOps
    TransactionalOps
    ListenerThreads
    INFO
    CONFIG
    FINE
    FINER
    FINEST
    SEVERE
    WARNING
    OFF
    ListenerThreadMaxIdleDuration (milliseconds, default = 300,000)
    This is how long a listener thread which is not receiving any messages
    will be kept around. (At least one listener thread will remain as long
    as the endpoint is active.)
    ListenerThreadMinBusyDuration (milliseconds, default = 10,000)
    If a listener thread has just received a message, has not been idle (had to
    wait for a new message to arrive) at any point during the past
    ListenerThreadMinBusyDuration milliseconds, and the current number of
    listener threads for this endpoint is less than ReceiverThreads, then
    (application server willing) an additional listener thread will be created.
    ResUser (string, default = null)
    ResPassword (string, default = null)
    These properties allow a user/password to be passed to the resource
    provider. When neither of these properties are set, connections used for
    this MDB's inbound message handling (as well as for exception queue
    handling, if enabled) are created using the no-argument version of the
    create*Connection method. When one or both of these properties are set,
    they are passed to the create*Connection method as the user/password
    arguments. (If only one property is not set, then 'null' is used for that
    particular create*Connection argument.) The ResPassword property supports
    the standard password indirection options (e.g., using "->joeuser" to
    represent the password of "joeuser").
    Note that the commas used in many of the above default values and examples are
    included here for readability but can not be used in the actual activation spec.
    (I.e., integer/milliseconds values in the activation spec must not include
    embedded commas.)
    -->
    </message-driven-deployment>
    </enterprise-beans>
    <assembly-descriptor>
    <default-method-access>
    <security-role-mapping name="&lt;default-ejb-caller-role>"
    impliesAll="true"/>
    </default-method-access>
    </assembly-descriptor>
    </orion-ejb-jar>

  • Error  ESB to outbound AQ adapter - CCI Local Transaction COMMIT failed

    We are trying to enqueue a ESB message to a AQ adapter and recieve a "CCI Local Transaction COMMIT failed due to: SQL Error performing commit(). I have checked all the logs for both ESB and B2B to try to find out why this happening, but I am stuck and don't know where to go look next. We are running ESB 10.1.3.4 and B2B 10.1.2.3.
    Any information would help at this point.
    Here is what I see in the ESB logs:
    oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException: Error occured while handling monitor message dequeued from monitor
    topic. Message text is "<activityMessages><activityMessage order='47' type='6'><flowId>pO9ODoC-ZkO7SVXEBy6IUA==</flowId><subFlowId>1236800149642</subFlowId><timestamp>1236800159806</timestamp><operationGUID>B6F20D90044311DEBF61EB90ED96C71E</operationGUID><
    perationQName>nsvs.cra.CRABirthSendebMS.Enqueue</operationQName><errorMessage><![CDATA[An unhandled exception has been thrown in the ESB
      system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESBApplication_VitalStatsESBCRAProject/CRABirthSendebMS.wsdl
      [ Enqueue_ptt::Enqueue(CRAVitalEvent) ] - WSIF JCA Execute of operation 'Enqueue' failed due to: CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    ; nested exception is:
    ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:644)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processOperationResponse(EsbRouterSubscription.java:483)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(EsbRouterSubscription.java:418)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:321)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:702)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:395)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:307)
    at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1476)
    at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1395)
    at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1349)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:575)
    at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:475)
    at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:830)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.aq.AQCciLocalTransactionImpl.commit(AQCciLocalTransactionImpl.java:89)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:515)
    ... 77 more
    ]]></errorMessage><exception><![CDATA[oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception
      has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESBApplication_VitalStatsESBCRAProject/CRABirthSendebMS.wsdl
      [ Enqueue_ptt::Enqueue(CRAVitalEvent) ] - WSIF JCA Execute of operation 'Enqueue' failed due to: CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    ; nested exception is:
    ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:644)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscriptio]]></exception><inPayload><![CDATA[<CRAVitalEvent>
    <Code/>
    <RecordTypeCode/>
    <Year/>
    <PlaceOfOccurrence>
    <City/>
    <CountryCode/>
    <ProvinceCode/>
    </PlaceOfOccurrence>
    <RegistrationNumber/>
    <AmendmentDate/>
    <Birth>
    <Child>
    <Name>
    <Surname/>
    <First/>
    <Second/>
    <Third/>
    </Name>
    <BirthDate/>
    <GenderCode/>
    </Child>
    <Mother>
    <Name>
    <MaidenName/>
    <Surname/>
    <First/>
    <Second/>
    <Third/>
    </Name>
    <SIN/>
    <BirthDate/>
    <BirthPlace>
    <ProvinceCode/>
    </BirthPlace>
    <UsualResidence>
    <StreetAddress/>
    <City/>
    <ProvinceCode/>
    <CountryCode/>
    <PostalCode/>
    </UsualResidence>
    </Mother>
    </Birth>
    </CRAVitalEvent>
    ]]></inPayload><retryable>false</retryable></activityMessage></activityMessages>"
    at oracle.tip.esb.monitor.manager.ActivityMessageReceiver.handleMessage(ActivityMessageReceiver.java:96)
    at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.java:178)
    at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:132)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.tip.esb.monitor.MonitorException: Due to the error "ORA-00904: "REQUEST_HEADER": invalid identifier
    ", the activity message could not be stored.
    at oracle.tip.esb.monitor.manager.database.AbstractFaultPersister.persist(AbstractFaultPersister.java:107)
    at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.persistMessage(DBActivityMessageStore.java:340)
    at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.store(DBActivityMessageStore.java:131)
    at oracle.tip.esb.monitor.manager.ActivityMessageReceiver.handleMessage(ActivityMessageReceiver.java:83)
    ... 7 more
    Caused by: java.sql.SQLException: ORA-00904: "REQUEST_HEADER": invalid identifier
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
    at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3074)
    at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.executeUpdate(PreparedStatementBCELProxy.java:37)
    at oracle.tip.esb.monitor.manager.database.oracle.OracleFaultPersister.persist(OracleFaultPersister.java:137)
    at oracle.tip.esb.monitor.manager.database.AbstractFaultPersister.persist(AbstractFaultPersister.java:105)
    ... 10 more

    an updated output of the diagnostics logs are here:
    Throwing back the main exception PCRetriableResourceExceptionGeneric error.
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system.
    The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESBApplication_VitalStatsESBCRAProject/CRABirthSendebMS.wsdl
    [ Enqueue_ptt::Enqueue(CRAVitalEvent) ] - WSIF JCA Execute of operation 'Enqueue' failed due to: CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    ; nested exception is:
    ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:644)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processOperationResponse(EsbRouterSubscription.java:483)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(EsbRouterSubscription.java:418)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:321)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:702)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:395)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:307)
    at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1476)
    at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1395)
    at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1349)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:575)
    at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:475)
    at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:830)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.aq.AQCciLocalTransactionImpl.commit(AQCciLocalTransactionImpl.java:89)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:515)
    ... 77 more
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:1015)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processOperationResponse(EsbRouterSubscription.java:483)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(EsbRouterSubscription.java:418)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:321)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:702)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:395)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:307)
    at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1476)
    at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1395)
    at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1349)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:575)
    at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:475)
    at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:830)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESBApplication_VitalStatsESBCRAProject/CRABirthSendebMS.wsdl
    [ Enqueue_ptt::Enqueue(CRAVitalEvent) ] - WSIF JCA Execute of operation 'Enqueue' failed due to: CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    ; nested exception is:
    ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:644)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
    ... 75 more
    Caused by: ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.aq.AQCciLocalTransactionImpl.commit(AQCciLocalTransactionImpl.java:89)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:515)
    ... 77 more
    [Caused by: CCI Local Transaction COMMIT failed.
        CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
        Please examine the log file to determine the problem.
    Please create a Service Request with Oracle Support.
    ORABPEL-12600
    Generic error.
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system.
    The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESBApplication_VitalStatsESBCRAProject/CRABirthSendebMS.wsdl
    [ Enqueue_ptt::Enqueue(CRAVitalEvent) ] - WSIF JCA Execute of operation 'Enqueue' failed due to: CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    ; nested exception is:
    ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:644)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:739)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:223)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:135)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:406)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:164)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processOperationResponse(EsbRouterSubscription.java:483)
    at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(EsbRouterSubscription.java:418)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:321)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:309)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:702)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:395)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:307)
    at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1476)
    at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1395)
    at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1349)
    at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:575)
    at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:475)
    at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:830)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: ORABPEL-11901
    CCI Local Transaction COMMIT failed.
    CCI Local Transaction COMMIT failed due to: SQL Error performing commit().
    Please examine the log file to determine the problem.

  • Custom JCA Adapter integration with BPEL

    The stock FTP Adapter provided with BPEL does not have a feature I require, so I am creating a custom JCA FTP adapter that does only one thing: when it is invoked, it polls a directory for any existing files, and then returns the number of files in that directory.
    The Adapter Developer Cookbook ( http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter%20Development%20cookbook.pdf ) is about as clear as mud, and hasn't been updated for 10.1.3.
    Are there any other resources that explain how you go from having your .java source files for your JCA adapter to having a working custom adapter in BPEL?

    Hello Tlwi,
    I guess you already figured out of writing custom JCA adapter, do you mind sharing your thoughs or document you may have. I tried to follow the cookbook, but was really looking for sample template code which I can change to make my own adapter.
    Thanks,
    Chintan

  • JCA Adapter matchManagedConnection and BPEL

    We have a implementation of the J2CA Adapter to integrate an Oracle EIS application with other Oracle Applications. From the perspective of our JCA Adapter (to the EIS), information arrives via BPEL code (which in turn gets it from other Oracle Applications). The information from BPEL signifies what activity to do etc.
    We have implemented the interface ManagedConnectionFactory.matchManagedConnections, within which we are supposed return a matching ManagedConnection with respect to the incoming Connection request. However, I am unaware on what basis this matching should be done . The ManagedConnection implementation is directly associated with a connection to the EIS. Thus, for activities such as below, the same ManagedConnection from the matchManagedConnections should be returned for all the operations until a commit is invoked. How do I do it? Based on what criteria?
    BPEL -> open transaction -> JCA -> open transaction -> EIS
    BPEL -> activity (say insert operation) -> JCA -> insert operation -> EIS
    BPEL -> commit transaction -> JCA -> commit transaction -> EIS
    Is there some BPEL partnerLink property which can be used to determine that for the current Connection request a particular ManagedConnection has to be returned? ConnectionRequestInfo contains only username/password and hence is useless in this scenario.
    The App Server is OC4J 10.1.3.1.
    Thanks,
    PC
    Edited by: user770775 on May 3, 2010 4:02 AM

    Hi,
    Goto the URL:
    http://abhishek-soablog.blogspot.com
    See the entry of September 2007. It will be helpful for all the begineers.
    Cheers,
    Abhi...

  • How to send Chinese Characters from BPEL to SAP through JCA Adapter

    Hi All,
    We want to do a POC using a BPEL process to send Chinese characters to SAP System through a JCA Adapter.
    If anyone has implemented the similar requirement, please share your thoughts on how to achieve it? Or if there had been any problems?
    Also, please let us know which SAP API we can use to test this?
    Appreciate your quick help!

    Hi Srini,
    I am working on 9.0.3 EBS 11i.
    Now i am able to encode using the below code:
    in = new BufferedReader(new InputStreamReader(uploadedByteStream.getInputStream(),"UTF-8"));
    if(linetext[7]!=null&&!"".equalsIgnoreCase(linetext[7]))
    col8=linetext[7].toString();
    vendor = new String(linetext[7].getBytes("UTF-8"),"EUC_CN");
    Now i am able to encode to chinese character when the file is in ANSI encoding, i see the CSV data in some form(not chinese).
    But when the file is in UTF-8 , and i can see the CSV data in Chinese (when i open in edit plus) , the encoding is not proper. when i remove the encoding the chinese data is coming properly.
    The data i am printing on the OAF screen.
    Now my doubt is : What type of file shd i be uploading ANSI/UTF-8????
    When i see on the local jdev as sop's , the data is seen as ???? but on the screen its printing correctly.
    but the data has to be passed to pl/sql procedure.
    Regards,
    Roopa.

  • Legacy JCA Adapter - Start BPEL process using ESB

    Hi all,
    I would like to know if anyone knows how to build a CICS Transaction start a BPEL process using JCA Legacy Adapter.

    Yes, there are samples of how to do this in the BPEL samples directory.

Maybe you are looking for