Not be able to obtain a transacted session within stateless session bean

I need some assistance on creating a transacted session. For some reason while within a stateless session bean, I am unable to create a transacted session even though I'm specifying to create the transacted queue session. Can anyone provide any assistance to me on this? It would be much appreciated.
Here is the code snippets involved with the problem:
Code snipet from ejb-jar.xml:
<session>
<display-name>Initial Request</display-name>
<ejb-name>InitialRequestBean</ejb-name>
<ejb-class>com.raytheon.rds.jms.InitialRequestBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
Code from stateless session bean:
static Logger logger;
private QueueConnectionFactory connectionFactory;
private SessionContext sc;
private Queue requestQueue;
public String processRequest(String msgBody)
logger.log(Level.INFO, "In processRequest(String).", msgBody);
QueueConnection con = null;
QueueSession session = null;
QueueSender sender = null;
TextMessage message = null;
String messageID = null;
QueueReceiver receiver = null;
TemporaryQueue replyQueue = null;
boolean transacted = false;
try
//Create the infrastructure (ie. The connection & the session)
logger.log(Level.FINE, "Creating connection");
con = connectionFactory.createQueueConnection();
logger.log(Level.FINE, "Creating session");
session = con.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
//Note: This line above was changed in all possible permutation and still didn't work such as using Session.SESSION_TRANSACTED
transacted = session.getTransacted();
logger.log(Level.FINE, "Is session transacted? : " + transacted);
//Note: This line above is constantly saying false
//Now first, setup the temporary reply queue and its listener
replyQueue = session.createTemporaryQueue();
logger.log(Level.FINE, "Creating receiver/consumer");
receiver = session.createReceiver(replyQueue);
con.start();
//Now create the requestor that will make the request message and put it on the request queue
logger.log(Level.FINE, "Creating Requestor/Producer");
sender = session.createSender(requestQueue);
//Now create the message and make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
message = session.createTextMessage();
message.setJMSReplyTo(replyQueue);
logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
//Now add the actual info you want to send
message.setText(msgBody);
//Now send the message
logger.log(Level.INFO, "Sending message: " + message.getText());
sender.send(message);
//Now wait until we get a response
logger.log(Level.FINE, "Waiting for the response message");
Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
//Process the message
logger.log(Level.FINE, "Processing the response message");
if(null != responseMsg)
logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
messageID = processMessage(responseMsg);
logger.log(Level.FINE, "Response is : " + messageID);
//close the connection
logger.log(Level.FINE, "Stopping the connection");
con.stop();
catch (Throwable t)
// JMSException could be thrown
logger.log(Level.SEVERE, "Exception Thrown in sendRequest: ", t);
sc.setRollbackOnly();
finally
//Close the sender
if (sender != null)
try
logger.log(Level.FINE, "Closing the sender");
sender.close();
catch (JMSException e)
logger.log(Level.WARNING, "JMSException Thrown when trying to close the sender to the request queue: ", e);
else
logger.log(Level.FINE, "Sender is already closed.");
//Close the receiver
if (receiver != null)
try
logger.log(Level.FINE, "Closing the receiver");
receiver.close();
catch (JMSException e)
logger.log(Level.WARNING, "JMSException Thrown when trying to close the receiver to the request queue: ", e);
else
logger.log(Level.FINE, "Receiver is already closed.");
//Close the session
if (session != null)
try
logger.log(Level.FINE, "Closing the session");
session.close();
catch (JMSException e)
logger.log(Level.WARNING, "JMSException Thrown when trying to close the session to the request queue: ", e);
else
logger.log(Level.FINE, "Session is already closed.");
//Close the connection
if (con != null)
try
logger.log(Level.FINE, "Closing the connection");
con.close();
catch (JMSException e)
logger.log(Level.WARNING, "JMSException Thrown when trying to close the connection to the reply queue: ", e);
else
logger.log(Level.FINE, "Connection is already closed.");
return messageID;
}

I found the answer through lots of painful searching.
http://blogs.sun.com/fkieviet/entry/request_reply_from_an_ejb
This weblog from Frank Kieviet from a sun blog explains what's happening behind the scenes.
Then I proceeded to create a Bean-Managed Transaction out of my EJB, which is using EJB 3.0. This requires the tag:
@TransactionManagement(value= TransactionManagementType.BEAN)
Note: I got this information from http://download.oracle.com/docs/cd/B31017_01/web.1013/b28221/servtran001.htm#BAJIBAFF
Then I just added the code specified in Frank's blog and everything is working now. The main portion of the code looks like this now:
//begin the user transaction
ctx.getUserTransaction().begin();
//Create the infrastructure (ie. The connection & the session)
logger.log(Level.FINE, "Creating connection");
con = connectionFactory.createQueueConnection();
//Create the session
logger.log(Level.FINE, "Creating session");
session = con.createQueueSession(false, Session.SESSION_TRANSACTED);
transacted = session.getTransacted();
logger.log(Level.FINE, "Is session transacted? : " + transacted);
//Now create the sender that will make the request message and put it on the request queue
logger.log(Level.FINE, "Creating Sender");
sender = session.createSender(requestQueue);
//Now create the message
message = session.createTextMessage();
//Now add the actual info you want to send
message.setText(msgBody);
logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
//Now first, setup the temporary reply queue and its listener
replyQueue = session.createTemporaryQueue();
if(null != replyQueue)
logger.log(Level.FINE, "Created temporary queue: " + replyQueue.getQueueName());
else
logger.log(Level.FINE, "Temporary Queue could not be created.");
//make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
message.setJMSReplyTo(replyQueue);
//Now send the message
logger.log(Level.INFO, "Sending message: " + message.getText());
sender.send(message);
//Now start the connection
logger.log(Level.FINE, "Starting the connection");
con.start();
//commit the changes
ctx.getUserTransaction().commit();
ctx.getUserTransaction().begin();
//Create the receiver
logger.log(Level.FINE, "Creating Receiver");
receiver = session.createReceiver(replyQueue);
//Now wait until we get a response
logger.log(Level.FINE, "Waiting for the response message");
Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
//Process the message
logger.log(Level.FINE, "Processing the response message");
if(null != responseMsg)
logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
else
logger.log(Level.FINE, "No response came back.");
messageID = processMessage(responseMsg);
logger.log(Level.FINE, "Response is : " + messageID);
logger.log(Level.FINE, "Transaction is complete");
//commit the changes
ctx.getUserTransaction().commit();

Similar Messages

  • Transaction management in stateless session beans.

    Hi all,
    I am using EJB 1.1.
    I have a statless session bean that has two methods- A and B.
    which does not involve any database interaction
    like inserting/updating/deleting the data in the database.
    The process flow is such the client always calls A first followed by the call to B.
    I have the Transaction attribute set as TX_REQUIRED at the whole bean level.
    Now my question is as follows:
    Since it is a stateless bean, ejbCreate() is called for every method's invocation.
    So does it mean that a new transaction is started for every method invocation?
    Also since a transaction ends by commit/rollback.
    The transation associated with the method A/B will never get completed as there is no commit/rollback involved in method implementation.
    So how is this transaction ended?
    Any more details about the transaction management in stateless session beans is highly appreciated.
    Any input at the earliest is highly appreciated.
    Thanks in advance.

    Since it is a stateless bean, ejbCreate() is called for every method's invocation.For stateless session bean , Create() is not delegated to the instance.
    So does it mean that a new transaction is started for every method invocation?This depends opon the Tx attribute and sequence of calls. Since you have given Tx_required then if you call any method and there is no Tx context associated with client,then a new TX will be started by container othere wise it will execute in the same TX context as the calling client. Note that client can be jsp or other ejb method.
    Also since a transaction ends by commit/rollback.
    The transation associated with the method A/B will never get completed >as there is no commit/rollback involved in method implementation.
    So how is this transaction ended?If you are using COntainer managed TX then Transaction handling like starting , ending etc is handled by the container. You need not worry about that.
    Any more details about the transaction management in stateless session >beans is highly appreciated.
    Any input at the earliest is highly appreciated.Some time back I had read the article on how the Transaction management done by container on IBM Site. I dont have URL , but you can search the site.
    HTH
    -Ashwani

  • Stateful session and stateless session

    i want to use session pool, but in document being stateful session or stateless session are one of standards.
    i do not understand the difference of them. who can tell me something about this?
    thanks! and the session we commonly used is stateful or stateless ?

    A stateful session is one that must maintain a state across requests; such as one that may require package states and the like. As such, it cannot be reused by other requests until it is completely finished.
    On the other hand, a stateless session is one that performs somewhat like a singleton action (statement cache for example) which, upon completion, can be reused in the pool for any other request as it does not require the state to be maintained.
    The most commonly used depends on the application, but I would say stateless is more common as it's used for performing small simple things (queries or small transactions) without requiring procedural-type processing overhead.
    Not sure if that description really helps you though.

  • Transaction rollback in stateless session EJB 3.0

    Hello everyone !
    I have a stateless session EJB as per 3.0 spec.
    /*Remote Interface*/
    package com.nseit.ncfm2.data.ejb;
    import java.sql.SQLException;
    import java.util.Collection;
    import javax.ejb.Remote;
    import javax.ejb.TransactionAttribute;
    import javax.ejb.TransactionAttributeType;
    import javax.naming.NamingException;
    import com.nseit.ncfm2.security.Audit;
    @Remote
    public interface ProductionDataChangesRequestsRemote {
         @TransactionAttribute(TransactionAttributeType.REQUIRED)
         public boolean shiftCandidateDetails(String sourceNcfmId,
                   String destinationNcfmId, Collection<String> specialCasesList, String shiftingRemarks, String user, Audit updtAudit) throws NamingException, SQLException;
    /*Bean Class*/
    package com.nseit.ncfm2.data.ejb;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import javax.ejb.TransactionAttribute;
    import javax.ejb.TransactionAttributeType;
    import javax.ejb.TransactionManagement;
    import javax.ejb.TransactionManagementType;
    import javax.naming.NamingException;
    import com.nseit.ncfm2.security.Audit;
    import com.nseit.ncfm2.util.server.lookup.LookUpServerResources;
    import java.sql.*;
    import java.util.*;
    * Session Bean implementation class ProductionDataChangesRequestsBean
    @Stateless(name = "ProductionDataChangesRequestsBean", mappedName = "ProductionDataChangesRequestsEJB")
    @Remote(ProductionDataChangesRequestsRemote.class)
    @TransactionManagement(TransactionManagementType.CONTAINER)
    public class ProductionDataChangesRequestsBean implements
              ProductionDataChangesRequestsRemote {
         * Default constructor.
         public ProductionDataChangesRequestsBean() {
              // TODO Auto-generated constructor stub
         @Override
         @TransactionAttribute(TransactionAttributeType.REQUIRED)
         public boolean shiftCandidateDetails(String sourceNcfmId,
                   String destinationNcfmId, Collection<String> specialCasesList,
                   String shiftingRemarks, String user, Audit updtAudit)
                   throws NamingException, SQLException {
              // TODO Auto-generated method stub
              Connection conn = null;
              PreparedStatement pstmt = null;
              int updtCnt = 0;
              boolean areDetailsShifted = false;
              try {
                   /* Start: update table-1 */
                   updtCnt = pstmt.executeUpdate();
                   /* End: update table-1 */
                   /* Start: update table-2 */
                   updtCnt = pstmt.executeUpdate();
                   /* End: update table-2 */
                   areDetailsShifted = true;
              } /*catch (SQLException e) {
                   // TODO Auto-generated catch block
                   System.out
                             .println("SQLException in ProductionDataChangesRequestsBean.shiftCandidateDetails(...) "
                                       + e.getMessage());
                   // e.printStackTrace();
                   context.setRollbackOnly();
              } */finally {
                   LookUpServerResources.closeStatement(pstmt);
                   LookUpServerResources.closeConnection(conn);
              return areDetailsShifted;
    Currently,if the 1st table update succeeds and the 2nd table update gives an exception,a rollback is not taking place i.e records in 1st table are updated.
    I want the transaction to be rolled back in case an SQLException occurs(or for that matter,any runtime exception occurs).
    I tried two approaches :
    i: Use of context.setRollbackOnly() in catch block for SQLException
    ii:Throwing the SQLException
    In both the cases, the transaction didn't roll back.
    How can I achieve this :
    i: Without the usage of @ApplicationException annotation(as I do not have any application exceptions)
    ii: Without catching the SQLException and then calling context.setRollbackOnly()
    Or what is the standard way?
    Thanks !

    Where is your connection object coming from?

  • Transaction is not Rolling Back in Stateless Session Bean

              Hi,
              I am using UserTransaction in Stateless Session bean .
              Transaction is not rolling back.
              The following code is writen in stateless session bean. In UserTransaction i am
              calling Two methods of another stateless session bean.
              The problem is if doJob2() method fails, doJob1() method is rolling back. These
              two methods consist of SQL statement with different Connection Object from TXDataSource.And
              session bean(TestSession) is set to CMT, attribute as "Required".
              try{
              Context ictx=new InitialContext();
              TestHome home=(TestHome)ictx.lookup("TestSession");
                   utx = sessionCtx.getUserTransaction();
                   utx.begin();
              TestRemote remote=home.create();
                   remote.doJob1();
                   remote.doJob2();
                   utx.commit();
              }catch(Exception e)
                   try{
                   utx.rollback();
              }catch(Exception ex)
                   System.out.println("unable to rollback"+ex);
              if any SQL Exception as occured in doJob2(), its calling method utx.rollback()
              in catch block. but SQL statements executed thru. doJob1() are not rolling back.
              what might be the reason?
              thanks
              Ranganath
              

              Thanx Priscilla ,
              Transaction is working.
              ranganath
              "Priscilla Fung" <[email protected]> wrote:
              >
              >In your ejb-jar.xml, you should specify <transaction-type> element to
              >be "Container"
              >for container-managed transaction. If you specified it to be "Bean" for
              >bean-managed
              >transaction, EJB ontainer will suspend the caller's transaction before
              >starting
              >a new transaction for your doJobX() methods. Thus, doJob1()nd doJob2()
              >will be
              >executing in different transactions, and thus rolling back doJob2()'s
              >transaction
              >will have no effect on work done and committed in doJob1()'s transaction.
              >
              >Regards,
              >
              >Priscilla
              >
              >
              >"Ranganath" <[email protected]> wrote:
              >>
              >>
              >>
              >>I am sending config.xml,deployment descriptors, code snippet for TestSession.
              >>i
              >>am using weblogic6.0sp2.
              >>if you need any aditional info. please let me know.
              >>
              >>thanks
              >>ranganath
              >>
              >>EJB-JAR.xml
              >>
              >><?xml version="1.0"?>
              >>
              >><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
              >JavaBeans
              >>1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
              >>
              >><ejb-jar>
              >>     <enterprise-beans>
              >>     <session>
              >>          <ejb-name>TestSession</ejb-name>
              >>          <home>com.apar.sslbridge.test.TestHome</home>
              >>          <remote>com.apar.sslbridge.test.TestRemote</remote>
              >>          <ejb-class>com.apar.sslbridge.test.TestBean</ejb-class>
              >>          <session-type>Stateless</session-type>
              >>          <transaction-type>Bean</transaction-type>
              >>          <resource-ref>
              >>     <res-ref-name>jdbc/oraclePool</res-ref-name>
              >>     <res-type>javax.sql.DataSource</res-type>
              >>     <res-auth>Container</res-auth>
              >>          </resource-ref>
              >>     </session>
              >>     </enterprise-beans>
              >>     <assembly-descriptor>
              >>     <container-transaction>
              >>          <method>
              >>          <ejb-name>TestSession</ejb-name>
              >>          <method-intf>Remote</method-intf>
              >>          <method-name>*</method-name>
              >>          </method>
              >>          <trans-attribute>Required</trans-attribute>
              >>     </container-transaction>
              >> </assembly-descriptor>
              >></ejb-jar>
              >>
              >>
              >>TestSession CODE:
              >>
              >>
              >>     public void doJob1() throws RemoteException
              >>     {
              >>     Statement st = null;
              >>     String query=null;
              >>     try{
              >>     con=getConnection();
              >>     st=con.createStatement();
              >>     query="insert into x values("+x+++")";
              >>     System.out.println(query);
              >>     int rec=st.executeUpdate(query);
              >>     }catch(SQLException sqle)
              >>     {
              >>     System.out.println("SQL Exception "+sqle);
              >> throw new RemoteException("RemoteException*****SQLError");
              >>     } catch (Exception e) {
              >>     System.out.println("Exception "+e);
              >> throw new RemoteException("RemoteException*****GenralError");
              >> }
              >>}
              >>
              >>
              >> public void doJob2()throws RemoteException
              >> {
              >> Connection con=null;
              >> Statement st = null;
              >> String query=null;
              >> try{
              >> con=getConnection();
              >> st=con.createStatement();
              >> query="insert into y values("+x+++")";
              >> System.out.println(query);
              >> int rec=st.executeUpdate(query);
              >> }catch(SQLException sqle)
              >> {
              >> System.out.println("SQL Exception "+sqle);
              >> throw new RemoteException("RemoteException*****SQLError");
              >> } catch (Exception e) {
              >> System.out.println("Exception "+e);
              >> throw new RemoteException("RemoteException*****GenralError");
              >>}
              >>}
              >>private Connection getConnection(){
              >>try {
              >>Connection con = StaticParams.POOL_DATASOURCE.getConnection();
              >>return con;
              >>     } catch(Exception e) {
              >>     System.out.println("TestBean.getConnection() Unable to get get pool
              >>connection
              >>" + e);
              >>     }
              >>}
              >>
              >>
              >>
              >>
              >>"Priscilla Fung" <[email protected]> wrote:
              >>>
              >>>It should work if you are using TxDataSource. Could you post your
              >config.xml,
              >>>deployment descriptors, code snippet for TestSession?
              >>>
              >>>Regards,
              >>>
              >>>Priscilla
              >>>
              >>>"Ranganath" <[email protected]> wrote:
              >>>>
              >>>>Hi,
              >>>>
              >>>> I am using UserTransaction in Stateless Session bean .
              >>>> Transaction is not rolling back.
              >>>>
              >>>>The following code is writen in stateless session bean. In UserTransaction
              >>>>i am
              >>>>calling Two methods of another stateless session bean.
              >>>> The problem is if doJob2() method fails, doJob1() method is rolling
              >>>> back. These
              >>>>two methods consist of SQL statement with different Connection Object
              >>>>from TXDataSource.And
              >>>>session bean(TestSession) is set to CMT, attribute as "Required".
              >>>>
              >>>> try{
              >>>> Context ictx=new InitialContext();
              >>>> TestHome home=(TestHome)ictx.lookup("TestSession");
              >>>>     utx = sessionCtx.getUserTransaction();
              >>>>     utx.begin();
              >>>> TestRemote remote=home.create();
              >>>>     remote.doJob1();
              >>>>     remote.doJob2();
              >>>>     utx.commit();
              >>>> }catch(Exception e)
              >>>> {
              >>>>     try{
              >>>>      utx.rollback();
              >>>> }catch(Exception ex)
              >>>> {
              >>>>     System.out.println("unable to rollback"+ex);
              >>>>     }
              >>>> }
              >>>>if any SQL Exception as occured in doJob2(), its calling method utx.rollback()
              >>>>in catch block. but SQL statements executed thru. doJob1() are not
              >>rolling
              >>>>back.
              >>>>what might be the reason?
              >>>>
              >>>>thanks
              >>>>Ranganath
              >>>
              >>
              >
              

  • Deploy multiple instances of the same stateless session EJB

    I have a stateless session bean.
    The methods on the bean operate against DB tables.
    Q: Can I deploy multiple instances of the same stateless session bean, but specify a different JNDI/datasource name in the deployment descriptor?
    The method calls are all enclosed within a single invocation, just that I need to hit different databases (all with the same schema), and Id like to be able to lookup the EJB via a different JNDI name, and have the exact same functionality, just against different deployed datasources.
    Does the spec allow/support this?
    If not, any suggestions as to how to achieve this sort of functionality?
    Im using JBoss 3.2.1 on Solaris, so Im not sure whether or not this is a JBoss "issue" or a limitation of the EJB Spec (or me being just plain wrong and trying to do something the "wrong way")
    Nick

    I have a stateless session bean.
    The methods on the bean operate against DB tables.
    Q: Can I deploy multiple instances of the same
    stateless session bean, but specify a different
    JNDI/datasource name in the deployment descriptor?
    The method calls are all enclosed within a single
    invocation, just that I need to hit different
    databases (all with the same schema), and Id like to
    be able to lookup the EJB via a different JNDI name,
    and have the exact same functionality, just against
    different deployed datasources.
    Does the spec allow/support this?
    If not, any suggestions as to how to achieve this sort
    of functionality?
    Im using JBoss 3.2.1 on Solaris, so Im not sure
    whether or not this is a JBoss "issue" or a limitation
    of the EJB Spec (or me being just plain wrong and
    trying to do something the "wrong way")
    NickI haven't done it but judging from the deployment descriptors yes.
    For example if I have two bounded datasources java:/Database1 and java:/Database2
    Lets say I have a session bean called MySession, then in your ejb-jar.xml you would have (notice that the desc, display, and ejb-name are the only differences)
    <session>
    <description>MySessionAlpha</description>
    <display-name>MySessionAlpha</display-name>
    <ejb-name>MySessionAlpha</ejb-name>
    <home>com.mycorp.MySessionRemoteHome</home>
    <remote>com.mycorp.MySessionRemote</remote>
    <local-home>com.mycorp.MySessionLocalHome</local-home>
    <local>com.mycorp.MySessionLocal</local>
    <ejb-class>com.mycorp.MySessionFacadeBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <resource-ref>
    <res-ref-name>jdbc/DataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    <session>
    <description>MySessionBeta</description>
    <display-name>MySessionBeta</display-name>
    <ejb-name>MySessionBeta</ejb-name>
    <home>com.mycorp.MySessionRemoteHome</home>
    <remote>com.mycorp.MySessionRemote</remote>
    <local-home>com.mycorp.MySessionLocalHome</local-home>
    <local>com.mycorp.MySessionLocal</local>
    <ejb-class>com.mycorp.MySessionFacadeBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    <resource-ref>
    <res-ref-name>jdbc/DataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    But now in the jboss.xml, we will have the following elements. What you may notice is that are bound to different remote and local jndi names. But the resource bindings are very different. The res-ref-name stays the same, but the jndi-name are different. I think this will work for you.
    <session>
    <ejb-name>MySessionAlpha</ejb-name> <jndi-name>ejb/com/mycorp/MySessionAlphaRemoteHome</jndi-name> <local-jndi-name>ejb/com/mycorp/MySessionAlphaLocalHome</local-jndi-name>
    <resource-ref>
    <res-ref-name>jdbc/datasource</res-ref-name>
    <jndi-name>java:/Database1</jndi-name>
    </resource-ref>
    </session>
    <session>
    <ejb-name>MySessionBeta</ejb-name> <jndi-name>ejb/com/mycorp/MySessionBetaRemoteHome</jndi-name> <local-jndi-name>ejb/com/mycorp/MySessionBetaLocalHome</local-jndi-name>
    <resource-ref>
    <res-ref-name>jdbc/datasource</res-ref-name>
    <jndi-name>java:/Database2</jndi-name>
    </resource-ref>
    </session>

  • Stateless Session Bean + EJB Question + Jboss

    Hello,
    If I have a stateless session bean on a linux machine and it works locally what do i need to do to access a method in the session bean from a remote windows machine.
    I would like to be able to execute my client jar file on a windows machine and have it access the jboss server on the linux machine. what do i need to do?
    i have the session bean working locally on both windows and linux machine. do i need to to have a JSP/Servlet to access the session bean? can the session bean not be accessed directly? what should my classpath look like? do I need to include extra jar files in my client jar file.?
    Thanks,
    Joyce

    Thanks guys for the help but I am still a little lost.
    My Client windows machine has the client jar file and all the other jar files. This is my client class
    package helloworld.client;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import java.util.Hashtable;
    import java.util.Properties;
    import helloworld.interfaces.HelloWorldHome;
    import helloworld.interfaces.HelloWorld;
    public class HelloClient
         public static void main(String[] args)
              Hashtable prop = new Hashtable();
              prop.put ("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
              prop.put ("java.naming.provider.url","jnp://172.16.220.160:1099");
              prop.put ("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
              try
                   Context ctx = new InitialContext(prop);
                   Object obj = ctx.lookup("ejb/helloworld/HelloWorld");
                   System.out.println(obj);
                   HelloWorldHome home = (HelloWorldHome)javax.rmi.PortableRemoteObject.narrow(obj, HelloWorldHome.class);
                   HelloWorld helloWorld = home.create();
                   String str = helloWorld.sayHelloEJB("JOYCE is COOL");
                   System.out.println(str);
                   helloWorld.remove();
              catch(Exception e)
                   e.printStackTrace();
    I get a NullPointer ie the home object is null. The IP address is the IP of the Linux machine that has Jboss running on.
    Questions are:
    1. Do I need to have Tomcat running on my client machine if I am to connect via HTTP? Does this alter my client code.?
    2. My JNDI lookup is what is causing the problem. Does my jboss.xml and my ejb-jar.jar look okay to you.
    jboss.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">
    <jboss>
    <enterprise-beans>
    <session>
    <ejb-name>helloworld/HelloWorld</ejb-name>
    <jndi-name>ejb/helloworld/HelloWorld</jndi-name>
    </session>
    </enterprise-beans>
    <resource-managers>
    </resource-managers>
    </jboss>
    ejb-jar.jar
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar >
    <description>No Description.</description>
    <display-name>Generated by XDoclet</display-name>
    <enterprise-beans>
    <!-- Session Beans -->
    <session >
    <description><![CDATA[No Description.]]></description>
    <ejb-name>helloworld/HelloWorld</ejb-name>
    <home>helloworld.interfaces.HelloWorldHome</home>
    <remote>helloworld.interfaces.HelloWorld</remote>
    <ejb-class>helloworld.session.HelloWorldBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    <!--
    To add session beans that you have deployment descriptor info for, add
    a file to your merge directory called session-beans.xml that contains
    the <session></session> markup for those beans.
    -->
    <!-- Entity Beans -->
    <!--
    To add entity beans that you have deployment descriptor info for, add
    a file to your merge directory called entity-beans.xml that contains
    the <entity></entity> markup for those beans.
    -->
    <!-- Message Driven Beans -->
    <!--
    To add message driven beans that you have deployment descriptor info for, add
    a file to your merge directory called message-driven-beans.xml that contains
    the <message-driven></message-driven> markup for those beans.
    -->
    </enterprise-beans>
    <!-- Relationships -->
    <!-- Assembly Descriptor -->
    <assembly-descriptor >
    <!-- finder permissions -->
    <!-- transactions -->
    <!-- finder transactions -->
    </assembly-descriptor>
    </ejb-jar>
    Do I need RMI ? Do I need to concern myself with CORBA? All Im looking for is a step by step to understanding what I need to configure? Is their some way I can debug?
    Thanks alot,
    Joyce

  • Problem while deploying a stateless Session bean

    hi,
    I am a beginner in J2EE. Please help..
    I have encountered an error while i am deploying a session bean in IBM Webspere App Servere
    the eroor is
    D:\Program Files\WebSphere\AppServer\deploytool\itp>ejbdeploy.bat c:\account\dep
    loy\account.jar c:\account\deploy c:\account\deploy\account-ejb.jar
    Starting workbench.
    Creating the project.
    Validating
    Generating deployment code
    Refreshing: /account.jar/ejbModule.
    Building: /account.jar.
    Invoking RMIC.
    error: Invalid class file format in C:\account\deploy\account.jar(com/fl/ac/Acco
    unt.class). The major.minor version '49.0' is too recent for this tool to under
    stand.
    error: Class com.fl.ac.Account not found in class com.fl.ac.EJSRemoteStatelessAc
    countEJB_ca490e54.
    error: Invalid class file format in C:\account\deploy\account.jar(com/fl/ac/Acco
    untHome.class). The major.minor version '49.0' is too recent for this tool to u
    nderstand.
    error: Class com.fl.ac.AccountHome not found in class com.fl.ac.EJSRemoteStatele
    ssAccountEJBHome_ca490e54.
    4 errors
    [*Error] An unexpected exception was thrown. Halting execution.
    Shutting down workbench.
    Error generating RMI code: RMIC Command returns RC = 1. The problems which stopp
    ed RMIC are displayed, and have also been recorded in the .log file in c:\accoun
    t\deploy\account-ejb._\.metadata.
    RMIC command was:
    -extdirs D:\Program Files\WebSphere\AppServer\java\jre\lib\core.jar;D:\Program F
    iles\WebSphere\AppServer\java\jre\lib\graphics.jar;D:\Program Files\WebSphere\Ap
    pServer\java\jre\lib\security.jar;D:\Program Files\WebSphere\AppServer\java\jre\
    lib\server.jar;D:\Program Files\WebSphere\AppServer\java\jre\lib\xml.jar;D:\Prog
    ram Files\WebSphere\AppServer\java\jre\lib\charsets.jar;D:\Program Files\WebSphe
    re\AppServer\java\jre\lib\ext;D:\Program Files\WebSphere\AppServer\java\lib;D:\P
    rogram Files\WebSphere\AppServer\classes;D:\Program Files\WebSphere\AppServer\li
    b;D:\Program Files\WebSphere\AppServer\lib\ext;D:\Program Files\WebSphere\AppSer
    ver\web\help;D:\Program Files\WebSphere\AppServer\deploytool\itp\plugins\com.ibm
    .etools.ejbdeploy\runtime;D:\Program Files\ibm\WebSphere MQ\Java\lib; -classpath
    c:\account\deploy\account-ejb._\account.jar\ejbModule;C:\account\deploy\account
    .jar -iiop -always -keep -d c:\account\deploy\account-ejb._\account.jar\ejbModul
    e -sourcepath c:\account\deploy\account-ejb._\account.jar\ejbModule com.fl.ac.EJ
    SRemoteStatelessAccountEJBHome_ca490e54 com.fl.ac.EJSRemoteStatelessAccountEJB_c
    a490e54
    BEAN SOURCE CODE IS
    ------------------Remote Interface -------------------------------
    package com.fl.ac;
    import java.rmi.*;
    import javax.ejb.*;
    public interface Account extends EJBObject     {
         public double withdraw(double balance,double amount) throws RemoteException;
         public double deposite(double balance,double amount) throws RemoteException;
    ------------------------ Home Interface -----------------------------------
    package com.fl.ac;
    import java.rmi.*;
    import javax.ejb.*;
    public interface AccountHome extends EJBHome     {
         public Account create() throws CreateException,RemoteException;
    ------------------------- Bean Class -----------------------------------------------
    package com.fl.ac;
    import java.rmi.*;
    import javax.ejb.*;
    public class AccountEJB implements SessionBean     {
         public void setSessionContext(SessionContext ctx)     {     }
         public void unsetSessionContext()     {     }
         public void ejbCreate()     {     }
         public void ejbActivate()     {     }
         public void ejbPassivate()     {     }
         public void ejbRemove()     {     }
         public double withdraw(double balance,double amount){
              return (balance - amount);
         public double deposite(double balance,double amount){
              return (balance+amount);
    ------------------------------ ejb-jar.xml --------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar id="ejb-jar_ID">
    <display-name>Account EJB</display-name>
    <enterprise-beans>
    <session>
    <ejb-name>AccountEJB</ejb-name>
    <home>com.fl.ac.AccountHome</home>
    <remote>com.fl.ac.Account</remote>
    <ejb-class>com.fl.ac.AccountEJB</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    PLZ HELP ME......
    francis

    Hi Gauarv,
    Did you not see my reply in the following post?
    Re: 502 service temporarily unavailable
    If I'm not mistaken, this is exactly the same question as you asked
    there.
    By the way, is there some reason you are still using OC4J version
    1.0.2.2? Is there something stopping you from upgrading to the later
    versions (9.0.2 and 9.0.3)?
    Good Luck,
    Avi.

  • Stateless session EJBs  & "idempotent"

    We need to declare a method as "idempotent" to take care of failure inside a
              method call, For that to work the code inside should written in such way so
              that repeated call to the same method should not give us diffrent result.
              But why can't weblogic implement a partial rollback( Just like Oracle's save
              point rollback, where you can rollback to certain point within a
              transaction).
              Because some times it is not possible to code in such a way to get the same
              result every time(Incase of fail over)
              Thanks
              ,Stateless session EJBs
              Stateless session EJBs can have both a cluster-aware home stub and a
              replica-aware EJBObject stub. By default, WebLogic Server provides failover
              services for EJB method calls, but only if a failure occurs between method
              calls. For example, failover is automatically supported if there is a
              failure after a method completes, or if the method fails to connect to a
              server. When failures occur while an EJB method is in progress, WebLogic
              Server does not automatically failover from one server to another.
              This default behavior ensures that database updates within an EJB method are
              not "duplicated" due to a failover scenario. For example, if a client calls
              a method which increments a value in a datastore and WebLogic Server fails
              over to another server before the method completes, the datastore would be
              updated twice for the client's single method call.
              If methods are written in such a way that repeated calls to the same method
              do not cause duplicate updates, the method is said to be "idempotent." For
              idempotent methods, WebLogic Server provides the
              stateless-bean-methods-are-idempotent deployment property. If you set this
              property to "true" in weblogic-ejb-jar.xml, WebLogic Server assumes that the
              method is idempotent and will provide failover services for the EJB method,
              even if a failure occurs during a method call.
              

    Vishal,
    I wouldn't think you would have a problem doing RMI communication from a Entity
    Bean - - for instance, when a WLS instance 'hosts' an EJB that communicates to
    a different WLS instance that 'hosts' an EJB that communication occurs via RMI.
    Chuck Nelson
    Developer Relations Engineer
    BEA Technical Support

  • Tx does not rollback in stateless ession bean

    I implemented three methods to test transaction functionality in stateless session bean. The methodA() execute an UPDATE sql command on database, the methodB() excute an INSERT sql command on database, and the methodC() just calls the methodA() and then calls the methodB().
    A test client is wrote to call methodC(), and an sql exception "java.sql.SQLException: Unique constraint (informix.pk_id) violated" is generated in methodB(). At this time, the UPDATE command in methodA() should be rollback, but it does not.
    The following are my environments:
    AP Sevrer = WLS6.1 (download)
    DB = Informix
    JDBC Driver = com.informix.jdbc.IfxDriver
    JDBCTxDataSource is set with JNDI_Name tx_datasource in config.xml
    Datasource is lookup from tx_datasource in session bean's ejbCreate() method
    The methodA(), methodB(), and methodC() are all declared as TX_REQUIRED via the deploy descriptor to support transaction.
    Can anyone help me to dig the bugs in the configuration or in the java codes that cause the transaction rollback fail?

    Hi Wen-Hung,
    To roll back a transaction by throwing an exception,
    the exception should be of Runtime type, like
    EJBException. Application exceptions like SQLException
    don't rollback TX. So you either need to throw runtime
    exception or catch application exception, call setRollbackOnly()
    on bean's context and re-throw the exception.
    Regards,
    Slava Imeshev
    "Wen-Hung Yeh" <[email protected]> wrote in message
    news:3cd8ae44$[email protected]..
    I implemented three methods to test transaction functionality in statelesssession bean. The methodA() execute an UPDATE sql command on database, the
    methodB() excute an INSERT sql command on database, and the methodC() just
    calls the methodA() and then calls the methodB().
    >
    A test client is wrote to call methodC(), and an sql exception"java.sql.SQLException: Unique constraint (informix.pk_id) violated" is
    generated in methodB(). At this time, the UPDATE command in methodA() should
    be rollback, but it does not.
    >
    The following are my environments:
    AP Sevrer = WLS6.1 (download)
    DB = Informix
    JDBC Driver = com.informix.jdbc.IfxDriver
    JDBCTxDataSource is set with JNDI_Name tx_datasource in config.xml
    Datasource is lookup from tx_datasource in session bean's ejbCreate()method
    The methodA(), methodB(), and methodC() are all declared as TX_REQUIREDvia the deploy descriptor to support transaction.
    >
    Can anyone help me to dig the bugs in the configuration or in the javacodes that cause the transaction rollback fail?
    >
    >

  • Transaction not rolling back in stateless session bean

              Hi,
              I am facing a problem...
              I have one stateless session bean which does multiple updates in SYBASE database.I
              am using non-transactional datasource. Bean calls a method of data access obejct
              whcih internally calls more than one one mehtod to update different tables.If
              any of update fails then I am explicitly thorwing EJBException. Still it is not
              rolling back.
              I have one more application where similar situation is there but only difference
              is that there we have Entity bean and updates are being done through store method.
              In that case with same datasource it is rolling back perfectly.
              I have tried with transactional datasource as well but it didn't work.Then I tried
              to put setAutoCommit(false) in my connection class which gives me connection.But
              then it is not allowing me to enter into my application.
              In deployment descriptor for both the beans transaction attribute is required
              for all methods.
              Regards.
              Rahul.
              

              Hi,
              I am facing a problem...
              I have one stateless session bean which does multiple updates in SYBASE database.I
              am using non-transactional datasource. Bean calls a method of data access obejct
              whcih internally calls more than one one mehtod to update different tables.If
              any of update fails then I am explicitly thorwing EJBException. Still it is not
              rolling back.
              I have one more application where similar situation is there but only difference
              is that there we have Entity bean and updates are being done through store method.
              In that case with same datasource it is rolling back perfectly.
              I have tried with transactional datasource as well but it didn't work.Then I tried
              to put setAutoCommit(false) in my connection class which gives me connection.But
              then it is not allowing me to enter into my application.
              In deployment descriptor for both the beans transaction attribute is required
              for all methods.
              Regards.
              Rahul.
              

  • DOM XML Parser in Stateless Session Bean- Not able to generate Container

    I am trying to do some XML Parsing using a DOM Parser in a Stateless Session Bean. I am importing org.apache.xerces.parsers.DOMParser and trying the following statement DOMParser parser = new DOMParser();
    Even though I am able to compile and generate the initial jar file. When I try to generate the container using the Weblogic Deployer GUI tool, the process keeps on going(I mean that I see the small window saying Container Generating working) and it never stops.
    Any suggestions are welcome.

    Many thanks ksaks for replying.
    Actually day before yesterday we were able to do something like this. But then I kept this thread open only to see if experts have some good way of doing this.
    What I mean is if this way is industry standards in terms of design and does it follow the most popular way how experts do it?
    I am asking this as WebProjects have webcontent/web-inf directory wherein we put those xsds and property files, but we do not have anything like this in an EJB project. so was just wondering if this is the correct way of doing it or not.
    I am still following this approach because I had to proceed further in my development. Confirmation would erase any other doubts on this.
    Hope you find time to reply.
    Kind Regards,
    user2205
    Edited by: user2205 on Nov 10, 2008 11:43 PM

  • Could not create/access the TopLink Session. This session is used to connect to the datastore.

    We are getting the below error in our production server & also other servers(UAT, Staging). Only option is to restart the OSB server.
    Test connection is working fine and able to connect the database without any issue. We have enabled connection leak profiling and also, provided the inactive time outs , still does not work. Need your suggestion for the below error.
    ***endpoint***:https://extzwsdev.zurichna.com/services/RiskAnalysis-v1***
    Payload<soapenv:Envelope    xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/"    xmlns:ris = "http://webservices.zurich.com/zsoa/nac/underwritingmanagement/riskanalysis-v1_0"    xmlns:zsoa = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/zsoa"    xmlns:com = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/common"    xmlns:con = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/contractandspecification"    xmlns:fin = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/financialservicesagreement"    xmlns:par = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/party"    xmlns:act = "http://schemas.zurich.com/zsoa/nac/underwritingmanagement/2009/11/activityconditionplace">    <soapenv:Header/>    <soapenv:Body>        <ris:calculateTargetPolicyRateChangeByProductGroup>            <ris:insurancePolicySearchCriteria>                <con:externalReference>1151638</con:externalReference>            </ris:insurancePolicySearchCriteria>        </ris:calculateTargetPolicyRateChangeByProductGroup>    </soapenv:Body></soapenv:Envelope>
    ***RTOneService Output Response*** <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>BEA-380001: [invokeExecutionFault] Error Dispatching the Event: unexpected error. - [BEA-380002] Invoke JCA outbound service failed with connection error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:153)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:586)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:154)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:446)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:584)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:67)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:74)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:92)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:67)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:45)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:34)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:153)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:261)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            ... 32 more
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:650)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:369)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:328)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:352)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:585)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:445)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:582)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:66)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:73)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:90)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:66)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:44)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:33)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:152)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
            ... 1 more
    Caused by: BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.db.exceptions.DBResourceException.createRetriableException(DBResourceException.java:676)
            at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:645)
            at oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:314)
            at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:918)
            at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:375)
            at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:256)
            at oracle.tip.adapter.db.DBInteraction.executeOutboundRead(DBInteraction.java:311)
            at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:233)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:535)
            ... 38 more
    Caused by: java.sql.SQLException: Invalid state, the Connection object is closed.
            at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(Unknown Source)
            at net.sourceforge.jtds.jdbc.ConnectionJDBC2.getMetaData(Unknown Source)
            at weblogic.jdbc.wrapper.Connection.getMetaData(Connection.java:479)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.init(NameEnquoter.java:122)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.init(NameEnquoter.java:92)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.&lt;init>(NameEnquoter.java:59)
            at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:705)
            at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:375)
            at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:256)
            at oracle.tip.adapter.db.DBInteraction.executeOutboundRead(DBInteraction.java:311)
            at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:233)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:535)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:369)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:328)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:352)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:586)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:154)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:446)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:584)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:67)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:74)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:92)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:67)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:45)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:34)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:153)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            ... 1 more
    .</faultstring><detail><con:fault xmlns:con="http://www.bea.com/wli/sb/context"><con:errorCode>BEA-380001</con:errorCode><con:reason>[invokeExecutionFault] Error Dispatching the Event: unexpected error. - [BEA-380002] Invoke JCA outbound service failed with connection error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:153)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:586)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:154)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:446)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:584)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:67)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:74)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:92)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:67)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:45)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:34)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:153)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:261)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            ... 32 more
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:650)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:369)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:328)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:352)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:585)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:445)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:582)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:66)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:73)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:90)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:66)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:44)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:33)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:152)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
            ... 1 more
    Caused by: BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.db.exceptions.DBResourceException.createRetriableException(DBResourceException.java:676)
            at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:645)
            at oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:314)
            at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:918)
            at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:375)
            at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:256)
            at oracle.tip.adapter.db.DBInteraction.executeOutboundRead(DBInteraction.java:311)
            at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:233)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:535)
            ... 38 more
    Caused by: java.sql.SQLException: Invalid state, the Connection object is closed.
            at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(Unknown Source)
            at net.sourceforge.jtds.jdbc.ConnectionJDBC2.getMetaData(Unknown Source)
            at weblogic.jdbc.wrapper.Connection.getMetaData(Connection.java:479)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.init(NameEnquoter.java:122)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.init(NameEnquoter.java:92)
            at oracle.tip.adapter.db.toplinkext.NameEnquoter.&lt;init>(NameEnquoter.java:59)
            at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:705)
            at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:375)
            at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:256)
            at oracle.tip.adapter.db.DBInteraction.executeOutboundRead(DBInteraction.java:311)
            at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:233)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:535)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:369)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:328)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:352)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:586)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:154)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:446)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:584)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:67)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:74)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:92)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:67)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:45)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:34)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:153)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            ... 1 more
    .</con:reason><con:location><con:node>RouteNode1</con:node><con:path>response-pipeline</con:path></con:location></con:fault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
    !!! Exception occurred <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>BEA-380001: [invokeExecutionFault] Error Dispatching the Event: unexpected error. - [BEA-380002] Invoke JCA outbound service failed with connection error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:153)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:586)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:154)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:446)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:584)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:67)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:74)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:92)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:67)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:45)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:34)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkManagerServiceImpl.java:153)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:261)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            ... 32 more
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/UWIS/RiskAnalysis-v1.0/DBAdapters/getCMRateTrackerData [ getCMRateTrackerData_ptt::getCMRateTrackerDataSelect(getCMRateTrackerDataSelect_inputParameters,TblCmRctrackerMatch2009Collection) ] - WSIF JCA Execute of operation 'getCMRateTrackerDataSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    ; nested exception is:
            BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by java.sql.SQLException: Invalid state, the Connection object is closed..
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server.  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:650)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:369)
            at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:328)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:352)
            at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
            at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
            at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
            at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:585)
            at sun.reflect.GeneratedMethodAccessor652.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
            at com.sun.proxy.$Proxy139.sendMessageAsync(Unknown Source)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:510)
            at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:445)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:582)
            at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:449)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransportDispatcherDelegate.send(TransportDispatcherDelegate.java:66)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.TransactionalDispatcherDelegate.send(TransactionalDispatcherDelegate.java:51)
            at com.bea.alsb.flow.messaging.dispatcher.servicebus.ResultCacheDispatcherDelegate.send(ResultCacheDispatcherDelegate.java:50)
            at com.bea.alsb.flow.messaging.dispatcher.ServiceBusDispatcherHandler.send(ServiceBusDispatcherHandler.java:93)
            at com.bea.bpel.services.messaging.OutboundDispatcherServiceImpl.send(OutboundDispatcherServiceImpl.java:73)
            at com.bea.bpel.internal.dispatcher.OutboundDispatcherImpl.dispatch(OutboundDispatcherImpl.java:91)
            at com.bea.bpel.interpreter.internal.instruction.messaging.InvokeRequest.enter(InvokeRequest.java:90)
            at com.bea.bpel.interpreter.internal.process.ProcessNodeImpl.enter(ProcessNodeImpl.java:181)
            at com.bea.bpel.interpreter.internal.Interpreter.interpret(Interpreter.java:155)
            at com.bea.bpel.interpreter.internal.Interpreter.invoke(Interpreter.java:87)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:66)
            at com.bea.bpel.internal.dispatcher.EngineManagerImpl.dispatch(EngineManagerImpl.java:44)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEventJobScheduled(SchedulerServiceContextImpl.java:87)
            at com.bea.bpel.internal.dispatcher.SchedulerServiceContextImpl.fireEvent(SchedulerServiceContextImpl.java:68)
            at com.bea.alsb.flow.scheduler.SchedulerServiceImpl$1.run(SchedulerServiceImpl.java:33)
            at weblogic.work.ContextWrap.run(ContextWrap.java:41)
            at com.bea.alsb.platform.weblogic.WlsWorkManagerServiceImpl$WorkAdapter.run(WlsWorkMa

    Its hard to say what is going on.  Though the message says the error is in obtaining a TopLink session, the exception stack has nothing to do with TopLink, and the error seems to be coming from oracle.tip.adapter.db.toplinkext.NameEnquoter.init() directly calling weblogic.jdbc.wrapper.Connection.getMetaData() on what must be a stale or closed connection.  This looks like a DB adapter application, so you might want to post this question there as they might be able to help configure your datasource appropriately for the application.
    Best Regards,
    Chris

  • Transaction Management -  App Module in Stateless Session Bean

    Hi All,
    We are using Application Module in local mode in a Stateless Session Bean. The application module gets the database connection from the datasource of the application server(Oracle 9iAS).
    The problem that we are facing is as follows
    - When a database update/insert is made using the Application Module and the ViewObject (and the underlying Entity Object), the changes are not being commited.
    Please note that we are not using the ApplicationModule.getTransaction.commit() as it does not give us commit/rollback control from another Session Bean/UseCase. We instead are relying on the Container to manager the transaction and commit the database changes. But the container does not seem to refresh the changes to the database.
    Q1 - Is there a contract between the container and the application module that needs to be created so that the container managed-transaction and the application module work together ?
    Any help in this matter would be greatly appreciated.
    -Ankur Sinha

    Q1 - Is there a contract between the container and the application module that needs to be created so that the container managed-transaction and the application module work together ?For stateless beans you have to call postChanges in the business method for the changes to be applied to the db. For stateful beans bc4j we do that automatically just before the transaction ends.
    Take a look at the following howto
    http://otn.oracle.com/products/jdev/howtos/bc4j/ejbstateless_with_bc4j.html
    In 9.0.3 you'll be able to create a stateless service bean declaritively.
    dhiraj Hi dhiraj,
    - I looked at the example but was not able to find the ContainerManagedTxnHandlerImpl class in the BC4J jars. Can you point me to the latest version of BC4J on technet ?. I already have JDeveloper 9.0.2
    - Regarding your response, what do you mean by creating stateless service bean declaritively ?
    Thanks,
    Ankur

  • LIBOVD ERROR  - "validateContextToken: workflow session was not found for given context. Create a new workflow session with token"

    Hello everyone,
    I have the following scenario:
    We're using "Oracle SOA Suite 11g 11.1.1.7.0" (Patched w/ 17893896) mainly for a BPM/Human workflow composite. Former, we were having the error bellow:
    <Mar 16, 2015 1:13:03 PM BRT> <Error> <oracle.soa.services.workflow.query> <BEA-000000> <<.> Verification Service cannot resolve user identity. User weblogic cannot be found in the identity repository. Workflow Context token cannot be null in request.
    ORABPEL-30511
    When that error ocurred, no one was able to use the system (BPM/Human Workflow).
    I opened an SR, and after some analysis from the support, it recommended me to set up "virtualize=true" in EM, and restarting the domain. Then it started logging the following:
    connection to ldap://[10.200.10.57]:7001 as cn=Admin.
    javax.naming.NamingException: No LDAP connection available to process request for DN: cn=Admin.
    Looking up on support KB, I found this note Doc ID 1545680.1 and increased from Max size of Connection Pool 10 to 200. That did work successfully! Problem now is that the <SERVER>_diagnostic.log is being filled up with the following error:
    [2015-03-31T16:03:46.421-03:00] [soa_server2] [ERROR] [] [oracle.soa.services.workflow.verification] [tid: [ACTIVE].ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: e0194e38aa6c9a2f:39fc1ff9:14c5def5247:-8000-00000000000a5653,0] [APP: soa-infra] <.>    validateContextToken: workflow session was not found for given context. Create a new workflow session with token=51490173-e3d0-41dd-ae99-983915aa8454;;G;;Z+P7Oe9ABnoTUQD9ECryEW2l0/8yRcqPDyZsOWBCuzMmRgA3Qsj601TxmWQ87z2MjuwW5AH+KzgjIwkPmhJFdpc1FrE6Y/MrN1bxIDHJWu2/zP3iSNwKD07hRrh/U37Ea0TvaQyuaHJIog9y3Ptmzw==
    One important point is that we're using only the embedded WLS ldap. So I am not 100% sure if we should be using the virtualize flag=true, once all docs I read point out that this should be done when using multi-ldap providers.
    Also, I only got this error in the "diagnostic.log".
    Although, no user has complained about using the system, I really want to work it out. Anyone has any suggestions?
    Thanks in advance!

    I have moved your thread from Certification to SOA Suite to get proper assistance.
    Thanks,
    Lisa

Maybe you are looking for

  • Remove Windows 8 and Windows 7 INSTALLING in L4070 notebook LNV

    Hello Bought a notebook model LNV L40-70 with Windows 8 makes. It is for business use and the programs that use the company does not run very well on Windows 8 and for that reason need to install Windows 7 on the notebook. The problem is that the bio

  • How do you disable the LOUD low battery beep on Envy M6 laptops?

    I bought TWO HP Envy M6-1105dx laptops for Black Friday (Too late to return them now). I have spent days and hours speaking with HP tech support, case managers, supervisors, corporate office and senior case managers and it all seems to be the same. "

  • Need help with automatic slideshow

    I made an automatic slideshow that switches frames at a set interval but now i want to load each frame from an extrenal swf and add a preloader for each frame, how do i tell the slideshow to wait until the frame is loaded before it proceeds to the ne

  • ECC Product Hierarchy to CRM

    Hi all, We have a product hierarchy created in ECC in Tcode V/76. These hierarchies have 3 levels and assigned to different materail in ECC materail master. We have done a initial load of Materail and all the products in CRM now have the R3PRODSTYP.

  • Iphone freezing after i wake from lock screen

    Waking from the lock screen works fine, but if it stays locked for more than 25 seconds and i go to wake it, it freezes and i have to reboot it every time. I've restored it three times already and I still get the same issue. Overall the phone is grea