XaResource.prepare Method Error

When we execute the xaresource.prepare(); throws an exception of:
RuntimeException in method: public abstract void transaction.bean.TransactionManager.insert(common.valueObject.VOInsert,java.lang.String) throws java.lang.Exception,java.rmi.RemoteException:
java.lang.NullPointerException
     at org.postgresql.util.Base64.encodeBytes(Base64.java:306)
     at org.postgresql.xa.RecoveredXid.xidToString(RecoveredXid.java:51)
     at org.postgresql.xa.PGXAConnection.rollback(PGXAConnection.java:287)
this is the code:
private boolean canBeCommited(Vector<XAResource> resources, Xid xid, int actualResource ) throws Exception
          try {
               System.out.println("resources.get(actualResource) -> " + resources.get(actualResource));
               System.out.println("xid -> " + xid);
               int ret = resources.get(actualResource).prepare(xid);
               if(ret == XAResource.XA_OK)
                    if (actualResource==0)
                         return true;
                    else
                         return canBeCommited(resources,xid,actualResource-1);
               else
                    return false;
          catch (XAException e) {
               // TODO Auto-generated catch block
               //e.printStackTrace();
               throw e;
     }

You may need to recompile your class with jar(s) from 11g.
If you have problems to make it running, take a sample component containing a serviceHandler from HowTo Components 11g and just adjust it to your needs. The link to components: http://bexhuff.com/2011/03/howto-component-samples-for-oracle-ucm-11g

Similar Messages

  • How does WLS 7 handle XAResource prepare failures..?

              Hi,
              I am in the process of testing the XA behaviour of JDBC drivers in WebLogic server
              7.0, for the purpose of integrating our middleware agents that rely on JDBC and
              XA.
              For this, I have implemented a XA JDBC driver "shim", which delegates all the
              calls to a third party XA driver, such as Oracle 9i, and also logs the method
              calls in a file.
              I have configured TWO WebLogic JDBC pools using my shim driver, one connecting
              to a LOCAL oracle db (say con1), and the other to a remote Oracle db (conB).
              Then a stateless session bean deployed in WLS7, executes various SQL using the
              two data sources, to capture different distributed transaction scenarios.
              In one scenario, I deliberately disconnect the network, JUST BEFORE the XAResource.prepare()
              call corresponds to the conB, thus emulating a 2-phase commit failure. (In my
              XA driver, I deliberately waits before prepare() to help diconnection process)
              Then I reconnect the network, enabling the con B. Though I would expect the Transation
              coordinator to call, XAResource.recover(), it looks that XAResource.commit() is
              called instead, as if the prepare stage was successful..!!
              [1] Have you any idea why this happens..? -i.e. commit() is called rather than
              recover(). See the stack trace I attach here.
              [2] Could you point me to any detailed sequence diagrams for XA/JTA prepare failures..?
              I have not been able to see any so far, either in JavaSoft/JTA site, or elsewhere.
              Thanks in advance,
              -hari
              PS: WebLogic stack trace on XAResource prepare() failure:
              6600121)AbstractSessionBean (AbstractSessionBean) .setSessionContext()
              (6600121)AbstractSessionBean (AbstractSessionBean) ejbCreate()
              (6600121)AbstractSessionBean (AbstractSessionBean) executeSQL() sqlInfo
              (6600121)AbstractSessionBean (AbstractSessionBean) begin()
              (6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo { conId
              =0, isCommit? true, SQL = SELECT name FROM dept, }
              (6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo { conId
              =1, isCommit? true, SQL = UPDATE emp set name='2_CON_TEST_NAME' WHERE id =2,
              (6600121)AbstractSessionBean (AbstractSessionBean) commit()
              >>>>> XAResource prepare wait =5000
              >>>>> XAResource prepare wait =5000
              java.sql.SQLException: Io exception: Connection reset by peer: JVM_recv in socke
              t input stream read
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              ment.java:210)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:111)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:95)
              at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              on.java:1055)
              at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              :893)
              at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:
              465)
              at driver.logging.xa.LogXAResource.prepare(Unknown Source)
              at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:747)
              at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
              ceInfo.java:1257)
              at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
              ceInfo.java:463)
              at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.
              java:190)
              at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(Serv
              erTransactionImpl.java:1925)
              at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(Ser
              verTransactionImpl.java:1683)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              rverTransactionImpl.java:239)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              sactionImpl.java:208)
              at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              onManagerImpl.java:282)
              at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              aAccessBean_xex19a_EOImpl.java:304)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              Unknown Source)
              at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              ef.java:114)
              at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:762)
              at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              a:308)
              at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              .java:30)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
              r
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              ment.java:210)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:111)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:95)
              at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              on.java:1055)
              at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              :893)
              at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              75)
              at driver.logging.xa.LogXAResource.commit(Unknown Source)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              ansactionImpl.java:2002)
              at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              ransactionImpl.java:2479)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Closed Connection
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              nection.java:206)
              at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              va:101)
              at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
              at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              a:736)
              at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              ava:174)
              at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              erTransactionImpl.java:1989)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              rverTransactionImpl.java:242)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              sactionImpl.java:208)
              at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              onManagerImpl.java:282)
              at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              aAccessBean_xex19a_EOImpl.java:304)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              Unknown Source)
              at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              ef.java:114)
              at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:762)
              at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              a:308)
              at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              .java:30)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
              r
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              ment.java:210)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:111)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:95)
              at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              on.java:1055)
              at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              :893)
              at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              75)
              at driver.logging.xa.LogXAResource.commit(Unknown Source)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              erTransactionImpl.java:1989)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              rverTransactionImpl.java:242)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              sactionImpl.java:208)
              at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              onManagerImpl.java:282)
              at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              aAccessBean_xex19a_EOImpl.java:304)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              Unknown Source)
              at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              ef.java:114)
              at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:762)
              at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              a:308)
              at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              .java:30)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Closed Connection
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              nection.java:206)
              at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              va:101)
              at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
              at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              a:736)
              at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              ava:174)
              at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              erTransactionImpl.java:1989)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              rverTransactionImpl.java:242)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              sactionImpl.java:208)
              at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              onManagerImpl.java:282)
              at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              aAccessBean_xex19a_EOImpl.java:304)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              Unknown Source)
              at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              ef.java:114)
              at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:762)
              at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              a:308)
              at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              .java:30)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
              r
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              ment.java:210)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:111)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:95)
              at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              on.java:1055)
              at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              :893)
              at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              75)
              at driver.logging.xa.LogXAResource.commit(Unknown Source)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              erTransactionImpl.java:1989)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              rverTransactionImpl.java:242)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              sactionImpl.java:208)
              at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              onManagerImpl.java:282)
              at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown Source)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              aAccessBean_xex19a_EOImpl.java:304)
              at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              Unknown Source)
              at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              ef.java:114)
              at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:762)
              at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              a:308)
              at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              .java:30)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Closed Connection
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              nection.java:206)
              at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              va:101)
              at driver.logging.xa.LogXAConnection.getConnection(Unknown Source)
              at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              a:736)
              at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              ava:174)
              at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              ansactionImpl.java:2002)
              at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              ransactionImpl.java:2479)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              java.sql.SQLException: Io exception: Connection reset by peer: socket write erro
              r
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              ment.java:210)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:111)
              at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              ment.java:95)
              at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              on.java:1055)
              at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              :893)
              at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              75)
              at driver.logging.xa.LogXAResource.commit(Unknown Source)
              at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:1313)
              at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              eInfo.java:512)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              ava:237)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              rTransactionImpl.java:1474)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              (ServerTransactionImpl.java:2042)
              at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              ansactionImpl.java:2002)
              at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              ransactionImpl.java:2479)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              

    It sounds like a driver problem. Have you checked with Oracle about
              this behavior?
              Alex
              Hari Rajapakshe wrote:
              > Hi Alex,
              > Thanks for the reply. I AM SURE that XAResource being prepared does NOT throw
              > an exception for the connection failure.
              >
              > In fact, I have simplified the test scenario, by removing WLS from the picture,
              > and manually calling XA methods in a two-tier JDBC client, which;
              >
              > [1] Instantiate two XA data sources, one on a local oracle db (A) and the other
              > a remote one (b)
              > [2] Get two XA connections (XAC1 and XAc2) from the data sources,
              > [3] Create two XA resource (XARA and XARB) on connections, and starting them.
              > [4] Create two jdbc connections and then executing UPDATING SQL on them.
              > [5] calling end() on XA resources.
              > [6] Calling prepare() on XARA (on the local db)
              >
              > [7] Disconecting the LAN connection.
              > [8] Calling prepare() on XARB (on the remote db)
              >
              > At the step [8], I excpet an XAException, indicating the network failure. But
              > Oracle driver returns with 0, merely DUMPING THE STACK TRACE on std error (ie.
              > cmd line)...!!
              >
              > This is weird.. Or am I missing something here..?
              >
              > My remote db is Oracle 9i, and the local 8i (8.1.7), and I have tested the above
              > in both JDBC think and OCI drivers with the same results.
              >
              > Any ideas..?
              >
              > thanks
              > -hari
              >
              >
              > Alex <[email protected]> wrote:
              >
              >>Hi Hari,
              >>
              >>In the scenario that you describe the prepare failure should cause the
              >>
              >>transaction to be rolled back. Are you sure that the commit operation
              >>
              >>that you are seeing is for the same xid as the one that failed to prepare?
              >>
              >>Regarding recovery, the transaction manager does not need to call
              >>recover on the reconnected Oracle resource because the TM knows the
              >>state of any pending transactions in the resource that it is
              >>coordinating. The XAResource.recover method is only required in the
              >>
              >>event that the transaction manager fails. After restart, the
              >>transaction manager needs to determine if there are pending (prepared)
              >>
              >>transactions in the resources that it has previously coordinated that
              >>
              >>need to be resolved.
              >>
              >>Alex
              >>
              >>
              >>Hari Rajapakshe wrote:
              >>
              >>
              >>>Hi,
              >>>
              >>>I am in the process of testing the XA behaviour of JDBC drivers in
              >>>
              >>WebLogic server
              >>
              >>>7.0, for the purpose of integrating our middleware agents that rely
              >>>
              >>on JDBC and
              >>
              >>>XA.
              >>>
              >>>For this, I have implemented a XA JDBC driver "shim", which delegates
              >>>
              >>all the
              >>
              >>>calls to a third party XA driver, such as Oracle 9i, and also logs
              >>>
              >>the method
              >>
              >>>calls in a file.
              >>>
              >>>I have configured TWO WebLogic JDBC pools using my shim driver, one
              >>>
              >>connecting
              >>
              >>>to a LOCAL oracle db (say con1), and the other to a remote Oracle db
              >>>
              >>(conB).
              >>
              >>>Then a stateless session bean deployed in WLS7, executes various SQL
              >>>
              >>using the
              >>
              >>>two data sources, to capture different distributed transaction scenarios.
              >>>
              >>>In one scenario, I deliberately disconnect the network, JUST BEFORE
              >>>
              >>the XAResource.prepare()
              >>
              >>>call corresponds to the conB, thus emulating a 2-phase commit failure.
              >>>
              >>(In my
              >>
              >>>XA driver, I deliberately waits before prepare() to help diconnection
              >>>
              >>process)
              >>
              >>>Then I reconnect the network, enabling the con B. Though I would expect
              >>>
              >>the Transation
              >>
              >>>coordinator to call, XAResource.recover(), it looks that XAResource.commit()
              >>>
              >>is
              >>
              >>>called instead, as if the prepare stage was successful..!!
              >>>
              >>>[1] Have you any idea why this happens..? -i.e. commit() is called
              >>>
              >>rather than
              >>
              >>>recover(). See the stack trace I attach here.
              >>>
              >>>[2] Could you point me to any detailed sequence diagrams for XA/JTA
              >>>
              >>prepare failures..?
              >>
              >>>I have not been able to see any so far, either in JavaSoft/JTA site,
              >>>
              >>or elsewhere.
              >>
              >>>Thanks in advance,
              >>>-hari
              >>>
              >>>PS: WebLogic stack trace on XAResource prepare() failure:
              >>>
              >>>
              >>>
              >>>
              >>>6600121)AbstractSessionBean (AbstractSessionBean) .setSessionContext()
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) ejbCreate()
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) executeSQL() sqlInfo
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) begin()
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo
              >>>
              >>{ conId
              >>
              >>> =0, isCommit? true, SQL = SELECT name FROM dept, }
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) sqlInfo =SQLInfo
              >>>
              >>{ conId
              >>
              >>> =1, isCommit? true, SQL = UPDATE emp set name='2_CON_TEST_NAME' WHERE
              >>>
              >>id =2,
              >>
              >>> }
              >>>(6600121)AbstractSessionBean (AbstractSessionBean) commit()
              >>>
              >>>
              >>>>>>>>XAResource prepare wait =5000
              >>>>>>>>XAResource prepare wait =5000
              >>>>>>>>
              >>>>>>>>
              >>>java.sql.SQLException: Io exception: Connection reset by peer: JVM_recv
              >>>
              >>in socke
              >>
              >>>t input stream read
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              >>>ment.java:210)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:111)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:95)
              >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              >>>on.java:1055)
              >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              >>>:893)
              >>> at oracle.jdbc.xa.client.OracleXAResource.prepare(OracleXAResource.java:
              >>>465)
              >>> at driver.logging.xa.LogXAResource.prepare(Unknown Source)
              >>> at weblogic.jdbc.jta.DataSource.prepare(DataSource.java:747)
              >>> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
              >>>ceInfo.java:1257)
              >>> at weblogic.transaction.internal.ServerResourceInfo.prepare(ServerResour
              >>>ceInfo.java:463)
              >>> at weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.
              >>>java:190)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localPrepare(Serv
              >>>erTransactionImpl.java:1925)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(Ser
              >>>verTransactionImpl.java:1683)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              >>>rverTransactionImpl.java:239)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              >>>sactionImpl.java:208)
              >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              >>>onManagerImpl.java:282)
              >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              >>>aAccessBean_xex19a_EOImpl.java:304)
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              >>>Unknown Source)
              >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              >>>ef.java:114)
              >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              >>>eManager.java:762)
              >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              >>>a:308)
              >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              >>>java:30)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
              >>>
              >>write erro
              >>
              >>>r
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              >>>ment.java:210)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:111)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:95)
              >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              >>>on.java:1055)
              >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              >>>:893)
              >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              >>>75)
              >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              >>>ansactionImpl.java:2002)
              >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              >>>ransactionImpl.java:2479)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Closed Connection
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              >>>nection.java:206)
              >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              >>>va:101)
              >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
              >>>
              >>Source)
              >>
              >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              >>>a:736)
              >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              >>>ava:174)
              >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              >>>erTransactionImpl.java:1989)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              >>>rverTransactionImpl.java:242)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              >>>sactionImpl.java:208)
              >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              >>>onManagerImpl.java:282)
              >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              >>>aAccessBean_xex19a_EOImpl.java:304)
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              >>>Unknown Source)
              >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              >>>ef.java:114)
              >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              >>>eManager.java:762)
              >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              >>>a:308)
              >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              >>>java:30)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
              >>>
              >>write erro
              >>
              >>>r
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              >>>ment.java:210)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:111)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:95)
              >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              >>>on.java:1055)
              >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              >>>:893)
              >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              >>>75)
              >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              >>>erTransactionImpl.java:1989)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              >>>rverTransactionImpl.java:242)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              >>>sactionImpl.java:208)
              >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              >>>onManagerImpl.java:282)
              >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              >>>aAccessBean_xex19a_EOImpl.java:304)
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              >>>Unknown Source)
              >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              >>>ef.java:114)
              >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              >>>eManager.java:762)
              >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              >>>a:308)
              >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              >>>java:30)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Closed Connection
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              >>>nection.java:206)
              >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              >>>va:101)
              >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
              >>>
              >>Source)
              >>
              >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              >>>a:736)
              >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              >>>ava:174)
              >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              >>>erTransactionImpl.java:1989)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              >>>rverTransactionImpl.java:242)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              >>>sactionImpl.java:208)
              >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              >>>onManagerImpl.java:282)
              >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              >>>aAccessBean_xex19a_EOImpl.java:304)
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              >>>Unknown Source)
              >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              >>>ef.java:114)
              >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              >>>eManager.java:762)
              >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              >>>a:308)
              >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              >>>java:30)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
              >>>
              >>write erro
              >>
              >>>r
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              >>>ment.java:210)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:111)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:95)
              >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              >>>on.java:1055)
              >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              >>>:893)
              >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              >>>75)
              >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(Serv
              >>>erTransactionImpl.java:1989)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
              >>>rverTransactionImpl.java:242)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
              >>>sactionImpl.java:208)
              >>> at weblogic.transaction.internal.TransactionManagerImpl.commit(Transacti
              >>>onManagerImpl.java:282)
              >>> at jdbctest.model.dataaccess.DataAccessBean.commit(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean.executeSQL(Unknown
              >>>
              >>Source)
              >>
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl.executeSQL(Dat
              >>>aAccessBean_xex19a_EOImpl.java:304)
              >>> at jdbctest.model.dataaccess.DataAccessBean_xex19a_EOImpl_WLSkel.invoke(
              >>>Unknown Source)
              >>> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:359)
              >>> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
              >>>ef.java:114)
              >>> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              >>> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              >>>eManager.java:762)
              >>> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
              >>>a:308)
              >>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
              >>>java:30)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Closed Connection
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
              >>> at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledCon
              >>>nection.java:206)
              >>> at oracle.jdbc.xa.OracleXAConnection.getConnection(OracleXAConnection.ja
              >>>va:101)
              >>> at driver.logging.xa.LogXAConnection.getConnection(Unknown
              >>>
              >>Source)
              >>
              >>> at weblogic.jdbc.jta.XAConnection.getConnection(XAConnection.java:341)
              >>> at weblogic.jdbc.jta.XAConnection.getAutoCommit(XAConnection.java:477)
              >>> at weblogic.jdbc.common.internal.ConnectionEnv.cleanup(ConnectionEnv.jav
              >>>a:736)
              >>> at weblogic.jdbc.common.internal.ConnectionPool.release(ConnectionPool.j
              >>>ava:174)
              >>> at weblogic.jdbc.jta.XAConnection.releaseToPool(XAConnection.java:255)
              >>> at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:718)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:801)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              >>>ansactionImpl.java:2002)
              >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              >>>ransactionImpl.java:2479)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>java.sql.SQLException: Io exception: Connection reset by peer: socket
              >>>
              >>write erro
              >>
              >>>r
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
              >>> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:503)
              >>> at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:518)
              >>> at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedState
              >>>ment.java:210)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:111)
              >>> at oracle.jdbc.driver.OracleCallableStatement.<init>(OracleCallableState
              >>>ment.java:95)
              >>> at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnecti
              >>>on.java:1055)
              >>> at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java
              >>>:893)
              >>> at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:3
              >>>75)
              >>> at driver.logging.xa.LogXAResource.commit(Unknown Source)
              >>> at weblogic.jdbc.jta.DataSource.commit(DataSource.java:808)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:1313)
              >>> at weblogic.transaction.internal.ServerResourceInfo.commit(ServerResourc
              >>>eInfo.java:512)
              >>> at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.j
              >>>ava:237)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.localCommit(Serve
              >>>rTransactionImpl.java:1474)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit
              >>>(ServerTransactionImpl.java:2042)
              >>> at weblogic.transaction.internal.ServerTransactionImpl.access$2(ServerTr
              >>>ansactionImpl.java:2002)
              >>> at weblogic.transaction.internal.ServerTransactionImpl$2.execute(ServerT
              >>>ransactionImpl.java:2479)
              >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
              >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
              >>>
              >>>
              >>>
              >>>
              >>>
              >
              

  • Overriding Spark DataGrid item renderer's prepare method - renderer's child is initially null

    I am currently using the 4.12.0 SDK.  I have a Spark DataGrid setup that makes use of an externally-defined itemRenderer:
    <s:DataGrid id="dgEquipment"
                width="100%" height="100%"
                doubleClickEnabled="true"
                creationComplete="init()" doubleClick="popTab(event)">
      <s:columns>
        <s:ArrayList>
          <s:GridColumn itemRenderer="renderers.equipment.IconRenderer"
                        dataField="EXISTING"
                        width="22"/>
    The data provider is set programmatically after a remote call has returned a result.
    I have the renderer setup as follows:
    <?xml version="1.0" encoding="utf-8"?>
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark"
                        xmlns:mx="library://ns.adobe.com/flex/mx"
                        dataChange="init()" remove="dispose()">
      <s:layout>
        <s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
      </s:layout>
      <fx:Script>
        <![CDATA[
          import mx.controls.Menu;
          import mx.events.MenuEvent;
          import spark.components.DataGrid;
          [Bindable]
          [Embed(source="../../../assets/images/Icon 1.png")]
          private var ico1:Class;
          [Bindable]
          [Embed(source="../../../assets/images/Icon 2.png")]
          private var ico2:Class;
          [Bindable]
          [Embed(source="../../../assets/images/Icon 3.png")]
          private var ico3:Class;
          private var isExisting:Boolean;
          private var popUp:Menu;
          private function init():void
            if (data)
              isExisting = data.EXISTING == 1;
          private function dispose():void
            if (popUp)
              popUp.removeEventListener(MenuEvent.ITEM_CLICK, popUp_click);
              popUp = null;
            if (imgActions)
              imgActions.removeEventListener(MouseEvent.CLICK, image_click);
              imgActions = null;
          override public function prepare(hasBeenRecycled:Boolean):void
            if (data)
              if ((data.TYPE == "A" || data.TYPE == "B") && !data.X && !data.Y)
                disableLink();
                imgActions.source = ico3;
                imgActions.toolTip = "Blah blah.";
              else if (data.TYPE == "C" || data.TYPE == "D")
                disableLink();
              else if (isExisting)
                imgActions.source = ico1;  //******************************            imgActions.toolTip = "More blah blah.";
                imgActions.addEventListener(MouseEvent.CLICK, image_click);
              else
                imgActions.source = ico2;
                imgActions.addEventListener(MouseEvent.CLICK, image_click);
                imgActions.toolTip = "Even more blah blah.";
                initPopUp();
          private function initPopUp():void
          private function popUp_click(event:MenuEvent):void
          private function image_click(event:MouseEvent):void
          private function disableLink():void
        ]]>
      </fx:Script>
      <s:Image id="imgActions"
               height="18" width="18"/>
    </s:GridItemRenderer>
    When the code reaches the line where I have added a comment full of asterisks, I get the following error:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at renderers.equipment::IconRenderer/prepare()[C:\…\renderers\equipment\IconRenderer.mxml:81 ]
        at spark.components.gridClasses::GridViewLayout/initializeItemRenderer()[/Users/justinmclean /Documents/ApacheFlex4.12.0/frameworks/projects/spark/src/spark/components/gridClasses/Gri dViewLayout.as:1808]
        at spark.components.gridClasses::GridViewLayout/createTypicalItemRenderer()[/Users/justinmcl ean/Documents/ApacheFlex4.12.0/frameworks/projects/spark/src/spark/components/gridClasses/ GridViewLayout.as:1243]
        at spark.components.gridClasses::GridViewLayout/updateTypicalCellSizes()[/Users/justinmclean /Documents/ApacheFlex4.12.0/frameworks/projects/spark/src/spark/components/gridClasses/Gri dViewLayout.as:1374]
        at spark.components.gridClasses::GridViewLayout/measure()[/Users/justinmclean/Documents/Apac heFlex4.12.0/frameworks/projects/spark/src/spark/components/gridClasses/GridViewLayout.as: 875]
        at spark.components.supportClasses::GroupBase/measure()[/Users/justinmclean/Documents/Apache Flex4.12.0/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as:1156 ]
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[/Users/justinmclean/Documents/ApacheFlex4.12.0/frameworks/projects/framework/src/mx/cor e/UIComponent.as:9038]
        at mx.core::UIComponent/validateSize()[/Users/justinmclean/Documents/ApacheFlex4.12.0/framew orks/projects/framework/src/mx/core/UIComponent.as:8962]
        at spark.components::Group/validateSize()[/Users/justinmclean/Documents/ApacheFlex4.12.0/fra meworks/projects/spark/src/spark/components/Group.as:1074]
        at mx.managers::LayoutManager/validateSize()[/Users/justinmclean/Documents/ApacheFlex4.12.0/ frameworks/projects/framework/src/mx/managers/LayoutManager.as:673]
        at mx.managers::LayoutManager/doPhasedInstantiation()[/Users/justinmclean/Documents/ApacheFl ex4.12.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:824]
        at mx.managers::LayoutManager/doPhasedInstantiationCallback()[/Users/justinmclean/Documents/ ApacheFlex4.12.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1188]
    Running the debugger shows that this occurs with the first item in the data provider.  If I alter the prepare method to check for the existence of imgActions before doing anything, everything works fine after the first item.  So I'll have one row in the DataGrid with a missing icon, and all the rest will have icons.
    So the question is, is it normal for prepare to run before any children of the item renderer are created?  If so, how should I handle this?
    Many thanks in advance.

    A little more info.  I added some event handlers to the renderer and the image (for events that I thought would be relevant), and here is the order of events based on trace statements within the handlers:
    griditemrenderer1_addedHandler
    griditemrenderer1_addedToStageHandler
    griditemrenderer1_preinitializeHandler
    imgActions_addedHandler
    griditemrenderer1_addedHandler
    imgActions_addedToStageHandler
    imgActions_preinitializeHandler
    imgActions_addedHandler
    griditemrenderer1_addedHandler
    imgActions_initializeHandler
    griditemrenderer1_elementAddHandler
    imgActions_addHandler
    griditemrenderer1_initializeHandler
    griditemrenderer1_addHandler
    prepare called
    imgActions_resizeHandler
    griditemrenderer1_resizeHandler
    imgActions_creationCompleteHandler
    imgActions_updateCompleteHandler
    griditemrenderer1_creationCompleteHandler
    griditemrenderer1_updateCompleteHandler
    griditemrenderer1_removeHandler
    griditemrenderer1_addedHandler
    griditemrenderer1_addedToStageHandler
    imgActions_addedToStageHandler
    griditemrenderer1_addHandler
    griditemrenderer1_dataChangeHandlerTypeError: Error #1009: Cannot access a property or method of a null object reference.
    prepare called
        at renderers.equipment::IconRenderer/prepare()[C:\…\renderers\equipment\IconRenderer.mxml:91 ]
    imgActions_renderHandler
    griditemrenderer1_renderHandler

  • External task - prepare method - decode-encode

    In the prepare method, I write code refer to thread:
    How to invoke a java application in the middle of the process
    Using Papi to operate with process
    How to invoke a java application in the middle of the process
    If the error is caused by decoding and encodeing the URL, please tell me how to fix this problem.
    Thanks a lot.
    The code snippet as follows
    -------------------code-----------------------------------------------
    package getinstance;
    import fuego.lang.DynamicObject;
    import fuego.papi.Arguments;
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    import fuego.papi.OperationException;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Properties;
    public class prepare {
    public prepare() {
    public static void main(String[] args) {
    prepare prepare = new prepare();
    Properties configuration = new Properties();
    configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
    configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "D:\\BPM_HOME_standalone\\webapps\\papiws\\WEB-INF\\directory.xml");
    configuration.setProperty(ProcessService.WORKING_FOLDER, "/tmp");
    System.out.println("1111111111111");
    Arguments argumentsResult = Arguments.create();
    String taskIn = "0";
    //String activity = "/InvokeJavaProcess#Default-1.0/InteractiveJava"; //both are fine
    String activity = "InteractiveJava"; //both are fine
    String instanceId = "/InvokeJavaProcess#Default-1.0/203/0";
    try {
    ProcessService processService = ProcessService.create(configuration);
    ProcessServiceSession session = processService.createSession("jcooper", "welcome1", "host");
    System.out.println("33333 instanceID="+instanceId);
    argumentsResult = session.activityPrepare(activity, instanceId, Arguments.create()); // error starts from here
    System.out.println("444444444");
    DynamicObject obj = argumentsResult.getDynamicObject();
    Map fieldMaps = obj.asFieldsMap();
    for (Iterator<String> iterator = fieldMaps.keySet().iterator(); iterator.hasNext();) {
    String key = iterator.next();
    System.out.println("key : "+ key + "value" +obj.getField(key));
    DynamicObject obj2 = argumentsResult.getDynamicObject();
    Map fieldMaps2 = obj2.asFieldsMap();
    for (Iterator<String> it = fieldMaps2.keySet().iterator(); it.hasNext();) {
    System.out.println("key : "+ key + " value : "+ obj2.getField(key));
    session.close();
    } catch (OperationException e) {
    e.printStackTrace();
    But I get errors like follow:
    -------------------error---------------------------------------
    E:\Jdeveloper10131_20090318\jdk\bin\javaw.exe -client -classpath E:\Jdeveloper10131_20090318\jdev\mywork\Java_be_invoked\getInstance\classes;D:\BPM_HOME_standalone\client\papi\lib\fuegopapi-client.jar getinstance.prepare
    1111111111111
    Creating connector [fuego:SQL]
    Creating ProcessService with id 'oracle/2009-03-31 18:08:47+08:00'.
    Local folder /tmp\system\Schema3387192-1796619082\catalogs found.
    Loading catalogs from local folder: /tmp\system\Schema3387192-1796619082\catalogs
    1 jars found locally.
    Local jar '126' succesfully loaded.
    [CatalogMgrCache] =======================
    Registering CatalogMgr [oracle/2009-03-31 18:08:47+08:00] ...CatalogManagerCache 14949315:
    Managers:
    Counters:
    [CatalogMgrCache] =======================
    CatalogMgr [oracle/2009-03-31 18:08:47+08:00] REGISTERED!CatalogManagerCache 14949315:
    Managers:
    {oracle/2009-03-31 18:08:47+08:00=fuego.util.LocalCatalogManager@1dacccc}
    Counters:
    ProcessService 'oracle/2009-03-31 18:08:47+08:00' created successfully.
    33333 instanceID=/InvokeJavaProcess#Default-1.0/203/0
    Unreachable Engine Tolerance (seconds):
    by default: 0
    to be used: 0
    This papi client will not cache exceptions which imply that an engine could not be reached.
    Adding local catalog for project: 124
    [CatalogLoaderMgrCache] =======================
    CatalogClassLoader[oracle/2009-03-31 18:08:47+08:00-124] added to cache
    Catalog ClassLoader MAP:
    {oracle/2009-03-31 18:08:47+08:00-124=CatalogClassLoader(FuegoObjectCatalog(catalogIn: 124, directoryId: oracle/2009-03-31 18:08:47+08:00))}
    Catalog Manager Cache:
    CatalogManagerCache 14949315:
    Managers:
    {oracle/2009-03-31 18:08:47+08:00=fuego.util.LocalCatalogManager@1dacccc}
    Counters:
    {oracle/2009-03-31 18:08:47+08:00=1}
    fuego.papi.exception.TaskFailedException: Task '0' in activity '/InvokeJavaProcess#Default-1.0/Interactive[InteractiveJava]' for instance '/InvokeJavaProcess#Default-1.0/203/0' could not be successfully executed. The task failed while executing method '%PREPARE%'.
         at fuego.papi.exception.TaskFailedException.create(TaskFailedException.java:57)
         at fuego.server.AbstractProcessBean.createTaskFailedException(AbstractProcessBean.java:3572)
         at fuego.fengine.FEngineProcessBean.createTaskFailedException(FEngineProcessBean.java:398)
         at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3193)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
         at fuego.lang.JavaObject.invoke(JavaObject.java:227)
         at fuego.component.Message.process(Message.java:585)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
         at fuego.component.CustomExecution.next(CustomExecution.java:176)
         at fuego.papi.impl.rmi.RMIExecution.next(RMIExecution.java:109)
         at fuego.papi.impl.ProcessInstanceOperation.prepareExternalActivity(ProcessInstanceOperation.java:695)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1420)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1414)
         at getinstance.prepare.main(prepare.java:43)
    Caused by: fuego.lang.ComponentExecutionException: The method 'CIL_interactiveJavaPrepare' from class 'oracle.InvokeJavaProcess.Default_1_0.Instance' could not be successfully executed.
         at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:519)
         at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:273)
         at fuego.fengine.FEEngineExecutionContext.invokeMethodAsCil(FEEngineExecutionContext.java:219)
         at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
         at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:401)
         at fuego.server.execution.InteractiveNormalCilExecution.invoke(InteractiveNormalCilExecution.java:425)
         at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:513)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:697)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:657)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:154)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeNormalCil(InteractiveMicroActivity.java:501)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:454)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
         at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3184)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3188)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
         at fuego.lang.JavaObject.invoke(JavaObject.java:227)
         at fuego.component.Message.process(Message.java:585)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
    Caused by: java.lang.NullPointerException
         at oracle.InvokeJavaProcess.Default_1_0.Instance.CIL_interactiveJavaPrepare(Instance.xcdl:1)
         at oracle.InvokeJavaProcess.Default_1_0.Instance.CIL_interactiveJavaPrepare(Instance.xcdl)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:512)
         ... 34 more
    Process exited with exit code 0.
    ----------------------------------------------------------------

    Hi Satinder,
    This time I change something in the process.
    1, the process still has 3 interactive activities: jcooperkeyin, tojava, Interactivejstein.
    2, I create a BPMObject including amount (decimal, 2) , purpose
    3, the main task of jcooperkeyin is a screenflow: set values to purpose and amount
    4, tojava activity is external.
    Prepare method name: tojavaprepare
    method contents:
    arg1.amount=var1.amount
    arg1.purpose=var1.purpose
    Commit method: tojavacommit
    method contents:
    var1.purpose=arg2.purpose
    var1.amount=arg2.amount
    5, I create an instance variable name var1 and its type is BPMObjec
    6, the argument module is changed to out
    7, I change the java prepare method code as you commend:
    8, After I run the java prepare method, I get some new errors which as follow:
    --------------------------code----------------------------------------------------
    package getinstance;
    import fuego.lang.Decimal;
    import fuego.lang.DynamicObject;
    import fuego.papi.Arguments;
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    import fuego.papi.OperationException;
    import java.math.BigDecimal;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Properties;
    public class prepare {
    public prepare() {
    public static void main(String[] args) {
    prepare prepare = new prepare();
    Properties configuration = new Properties();
    configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
    configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "D:\\BPM_HOME_standalone\\webapps\\papiws\\WEB-INF\\directory.xml");
    configuration.setProperty(ProcessService.WORKING_FOLDER, "/tmp");
    System.out.println("1111111111111");
    Arguments argumentsResult = Arguments.create();
    String taskIn = "0";
    String activity = "tojava";
    //String activity = "jcooperkeyin";
    String processId = "/InvokeJava2#Default-1.0";
    //String instanceId = "/InvokeJava2#Default-1.0/281/0";
    Arguments arguments = Arguments.create();
    DynamicObject dyn = DynamicObject.create();
    dyn.setField("amount", new BigDecimal(100.0));
    dyn.setField("purpose", "---------");
    arguments.putArgument("var1", dyn);
    try {
    ProcessService processService = ProcessService.create(configuration);
    ProcessServiceSession session = processService.createSession("jcooper", "welcome1", "host");
    String ist="ist";
    for (InstanceInfo instance : session.processGetInstances(processId)) {
    System.out.println(" instance.getId()-> " + instance.getId());
    ist=instance.getId();
    System.out.println(" activity.getActivityId()-> " +instance.getActivityId());
    System.out.println(" activity.getActivityName()-> " +instance.getActivityName());
    System.out.println("----------111----------------------");
    argumentsResult = session.activityPrepare(activity, instance.getId(), arguments); //error starts from here
    System.out.println("-----2222-----------");
    DynamicObject obj = argumentsResult.getDynamicObject();
    Map fieldMaps = obj.asFieldsMap();
    for (Iterator<String> iterator = fieldMaps.keySet().iterator(); iterator.hasNext();) {
    String key = iterator.next();
    System.out.println("key : "+ key + "value" +obj.getField(key));
    DynamicObject obj2 = argumentsResult.getDynamicObject();
    Map fieldMaps2 = obj2.asFieldsMap();
    for (Iterator<String> it = fieldMaps2.keySet().iterator(); it.hasNext();) {
    System.out.println("key : "+ key + " value : "+ obj2.getField(key));
    System.out.println("444444444");
    session.close();
    } catch (OperationException e) {
    e.printStackTrace();
    ---------------------new error------------------------------------------------------
    E:\Jdeveloper10131_20090318\jdk\bin\javaw.exe -client -classpath E:\Jdeveloper10131_20090318\jdev\mywork\Java_be_invoked\getInstance\classes;D:\BPM_HOME_standalone\client\papi\lib\fuegopapi-client.jar;D:\BPM_HOME_standalone\client\papi\lib\b1base.jar;D:\BPM_HOME_standalone\client\papi\lib\b1oracle.jar;D:\BPM_HOME_standalone\client\papi\lib\b1util.jar getinstance.prepare
    1111111111111
    Creating connector [fuego:SQL]
    Creating ProcessService with id 'oracle/2009-03-31 18:08:47+08:00'.
    Local folder /tmp\system\Schema3387192-1796619082\catalogs found.
    Loading catalogs from local folder: /tmp\system\Schema3387192-1796619082\catalogs
    1 jars found locally.
    Local jar '181' succesfully loaded.
    [CatalogMgrCache] =======================
    Registering CatalogMgr [oracle/2009-03-31 18:08:47+08:00] ...CatalogManagerCache 14949315:
    Managers:
    Counters:
    [CatalogMgrCache] =======================
    CatalogMgr [oracle/2009-03-31 18:08:47+08:00] REGISTERED!CatalogManagerCache 14949315:
    Managers:
    {oracle/2009-03-31 18:08:47+08:00=fuego.util.LocalCatalogManager@1dacccc}
    Counters:
    ProcessService 'oracle/2009-03-31 18:08:47+08:00' created successfully.
    Unreachable Engine Tolerance (seconds):
    by default: 0
    to be used: 0
    This papi client will not cache exceptions which imply that an engine could not be reached.
    instance.getId()-> /InvokeJava2#Default-1.0/281/0
    Adding local catalog for project: 181
    activity.getActivityId()-> /InvokeJava2#Default-1.0/tojava
    activity.getActivityName()-> tojava
    ----------111----------------------
    [CatalogLoaderMgrCache] =======================
    CatalogClassLoader[oracle/2009-03-31 18:08:47+08:00-181] added to cache
    Catalog ClassLoader MAP:
    {oracle/2009-03-31 18:08:47+08:00-181=CatalogClassLoader(FuegoObjectCatalog(catalogIn: 181, directoryId: oracle/2009-03-31 18:08:47+08:00))}
    Catalog Manager Cache:
    CatalogManagerCache 14949315:
    Managers:
    {oracle/2009-03-31 18:08:47+08:00=fuego.util.LocalCatalogManager@1dacccc}
    Counters:
    {oracle/2009-03-31 18:08:47+08:00=1}
    Processing the synchronization information, instance '181:281:0' was updated.
    fuego.papi.OperationException: Operation exception.
         at fuego.papi.OperationException.wrap(OperationException.java:65)
         at fuego.papi.impl.ProcessInstanceOperation.prepareExternalActivity(ProcessInstanceOperation.java:706)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1420)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1414)
         at getinstance.prepare.main(prepare.java:58)
    Caused by: fuego.rmi.RMIRuntimeException: Fuego RMI: Failure during the invocation. Check the exception chain for details.
         at fuego.rmi.RemoteProxy.processBatch(RemoteProxy.java:192)
         at fuego.component.ExecutorClient.dispatch(ExecutorClient.java:190)
         at fuego.component.CustomExecution.next(CustomExecution.java:247)
         at fuego.papi.impl.rmi.RMIExecution.next(RMIExecution.java:109)
         at fuego.papi.impl.ProcessInstanceOperation.prepareExternalActivity(ProcessInstanceOperation.java:695)
         ... 3 more
    Caused by: fuego.rmi.spi.SerializationException: Unable to receive the message because of a serialization error.
         at fuego.rmi.spi.BaseConnection.send(BaseConnection.java:105)
         at fuego.rmi.ServerCluster.send(ServerCluster.java:210)
         at fuego.rmi.ServerCluster.sendResult(ServerCluster.java:461)
         at fuego.rmi.ServerCluster.access$300(ServerCluster.java:43)
         at fuego.rmi.ServerCluster$ClientRequest$1.put(ServerCluster.java:556)
         at fuego.component.ExecutionThread.sendResult(ExecutionThread.java:532)
         at fuego.component.ExecutionThreadContext.doClientInvoke(ExecutionThreadContext.java:695)
         at fuego.component.ClientRemoteComponent.doInvocation(ClientRemoteComponent.java:303)
         at fuego.component.ClientRemoteComponent.invokeRelayTo(ClientRemoteComponent.java:211)
         at fuego.component.ExecutionRelayedThrowable.execute(ExecutionRelayedThrowable.java:109)
         at fuego.server.execution.TaskExecution.handleExecutionRelayedThrowable(TaskExecution.java:816)
         at fuego.server.execution.TaskExecution.handleComponentExecutionException(TaskExecution.java:767)
         at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:516)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:697)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:657)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:154)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeNormalCil(InteractiveMicroActivity.java:501)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:454)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
         at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3184)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3188)
         at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
         at fuego.lang.JavaObject.invoke(JavaObject.java:227)
         at fuego.component.Message.process(Message.java:585)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
         ... 8 more
    Caused by: java.io.NotSerializableException: java.lang.Object
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at java.util.HashMap.writeObject(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
         at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
         at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
         at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
         at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeArray(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at fuego.component.Message.writeObject(Message.java:653)
         at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
         at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
         at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at fuego.component.Batch.writeObject(Batch.java:151)
         at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
         at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
         at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
         at java.io.ObjectOutputStream.writeObject0(Unknown Source)
         at java.io.ObjectOutputStream.writeObject(Unknown Source)
         at fuego.rmi.Packet.write(Packet.java:240)
         at fuego.rmi.spi.BaseConnection.send(BaseConnection.java:102)
         at fuego.rmi.ServerCluster.send(ServerCluster.java:210)
         at fuego.rmi.ServerCluster.sendResult(ServerCluster.java:461)
         at fuego.rmi.ServerCluster.access$300(ServerCluster.java:43)
         at fuego.rmi.ServerCluster$ClientRequest$1.put(ServerCluster.java:556)
         at fuego.component.ExecutionThread.sendResult(ExecutionThread.java:532)
         at fuego.component.ExecutionThreadContext.doClientInvoke(ExecutionThreadContext.java:695)
         at fuego.component.ClientRemoteComponent.doInvocation(ClientRemoteComponent.java:303)
         at fuego.component.ClientRemoteComponent.invokeRelayTo(ClientRemoteComponent.java:211)
         at fuego.component.ExecutionRelayedThrowable.execute(ExecutionRelayedThrowable.java:109)
         at fuego.server.execution.TaskExecution.handleExecutionRelayedThrowable(TaskExecution.java:816)
         at fuego.server.execution.TaskExecution.handleComponentExecutionException(TaskExecution.java:767)
         at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:516)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:697)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:657)
         at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:154)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeNormalCil(InteractiveMicroActivity.java:501)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:454)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
         at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3184)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3188)
         at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
         at fuego.lang.JavaObject.invoke(JavaObject.java:227)
         at fuego.component.Message.process(Message.java:585)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
    Process exited with exit code 0.

  • No such method error when launching the Interactive form

    Hi Experts,
    I have developed a simeple Java Webdynpro application and added an Interactive form without any controls in it. Created the context with one value node and a binary value attribute.
    I have assigned  value node to datasource and binary attribute to pdfSource. When I launch the application I am getting the following no such method error.
    java.lang.NoSuchMethodError: com/sap/tc/webdynpro/clientserver/uielib/adobe/api/IWDInteractiveForm.setTemplateSource(Ljava/lang/String;)V
    The currently executed application, or one of the components it depends on, has been compiled against class file versions that are different from the ones that are available at runtime.
    If the exception message indicates, that the modified class is part of the Web Dynpro Runtime (package com.sap.tc.webdynpro.*) then the running Web Dynpro Runtime is of a version that is not compatible with the Web Dynpro Designtime (Developer Studio or Component Build Server) which has been used to build + compile the application.
    My NWDS is of Version 7.0.06
    and J2EE Engine is of Version 6.40.
    any guess why I am getting this error.
    Thanks
    Chinna.

    Issue solved. Compatablility issue NWDS 2.0 Version should use for NW 2004.

  • Abstract Method Error and XML Parsing

    I am using wl6sp1. I am parsing an XML file from within the
    servlet using jaxp1.1 and crimson.
    Following is code:
    1- SAXParserFactory spf = SAXParserFactory.newInstance();
    2- sp = spf.newSAXParser();
    3- xr = sp.getXMLReader();
    4- xr.setContentHandler(new ParseXML());
    5- xr.parse( new InputSource("Example3.xml"));
    This program works fine when execute from command line but in servlet on line
    3 it says:
    "Abstract Method Error"
    I have created XML Registry to use Crimson as XML parser rather than default.
    I think somehow wl is still using jaxp1.0 which is built in
    support in wlsp1.
    Whats wrong with the code...or what configuration i am missing???

    I'm assuming you have already put crimson.jar first in the classpath for the java
    command you use to start WebLogic. If so, have you tried putting the servlet in
    a .war file with the crimson.jar in its' WEB-INF/lib directory?
    Regards,
    Mike Wooten
    "anyz" <[email protected]> wrote:
    >
    I am using wl6sp1. I am parsing an XML file from within the
    servlet using jaxp1.1 and crimson.
    Following is code:
    1- SAXParserFactory spf = SAXParserFactory.newInstance();
    2- sp = spf.newSAXParser();
    3- xr = sp.getXMLReader();
    4- xr.setContentHandler(new ParseXML());
    5- xr.parse( new InputSource("Example3.xml"));
    This program works fine when execute from command line but in servlet
    on line
    3 it says:
    "Abstract Method Error"
    I have created XML Registry to use Crimson as XML parser rather than
    default.
    I think somehow wl is still using jaxp1.0 which is built in
    support in wlsp1.
    Whats wrong with the code...or what configuration i am missing???

  • Abstract Method Error in retrieving Blob

    Hi!
    while (rs.next())
    Blob blob=rs.getBlob(1);
    throws Abstract Method Error
    why?
    Thanxs in advance

    You'll probably find that the JDBC driver that you are using doesn't support blobs. Check the documentation that comes with your driver, it should tell you what parts of the JDBC specification it supports.
    Col

  • Server error: Class: UCF Acroform Method error Message: Could not send mess

    Hi Gurus,
    I'm having a problem with displaying PDF file in the portal. I tried reinstalling Adobe 9. Tick and untick the option Display PDF in browser. But still encountering the error. Is it something to do with IE version? Please Help. Thanks in advance.
    Server error: Class: UCF Acroform Method error Message: Could not send message

    Hi,
        Please speify the system information so that I can help you
    Regards
    Sharanya.R

  • HTTP GET method error

    I've created a simple web page that contains a text box in which the user enters an URL. And also have a servlet to take this address and do something "useful" with it. The Servlet has a doPost method to get this address, and the web page also has the corresponding method
    (<FORM method="POST" ACTION="../fyp/AddressServlet" >).
    I'm using a j2ee server, which runs fine, as does the deploytool.
    However, when I attempt to open the web page in my browser, I get the following error,
    "HTTP Status 405-HTTP method GET is not supported by this URL"
    I don't know why I'm getting a GET method error, when it's a POST method I'm using.
    Any help would be appreciated,
    thanks,
    ahhfor

    Hi !
    You're using the POST method to call the servlet when you submit the HTML page. However, when you try to load your HTML page into the browser, this is done with GET !
    Check your server.xml file in the /conf directory and see if your application context is correctly defined. And then check the web.xml file in your application's WEB-INF directory. Finally, check your path to the servlet in your HTML file.

  • Organization Payment method Error

    Dear All,
    When I trying to attach a bank account in cash management Tab im getting following error.
    APP-PAY-34070:the bank account does not uniquely map to cash management account
    If anybody faced similar issue please let me know the solution you have implemented.
    Regards,
    Jithin dev

    962274 wrote:
    Dear All,
    When I trying to attach a bank account in cash management Tab im getting following error.
    APP-PAY-34070:the bank account does not uniquely map to cash management account
    If anybody faced similar issue please let me know the solution you have implemented.
    Regards,
    Jithin devPlease see these docs.
    Defining Organizational Payment Method, Errors: APP-PAY-34070: The Bank Account Does not Uniquely map to Cash Management Account. [ID 1106723.1]
    Costing of Payment : Can We Populate Control Account With Multiple Liability Accounts ? [ID 1266020.1]
    Thanks,
    Hussein

  • Prepare() method gridItemRenderer Flex Hero

    Hi,
    last week I installed Flash Builder Burrito to try the new spark dataGrid. I was testing the gridItemRenderer. I wanted to check something form the data and according to the results the item renderer should show three different conditions. But unfortunately I was unable to make the prepare() function work. I did it as was shown in Adobe TV (Deep Dive into Spark DataGrid) but even a trace() was not triggered.
    Is this method not working or am I making something wrong?
    Thanks for your help.

    The Link is:
    http://tv.adobe.com/watch/max-2010-develop/deep-dive-into-the-spark-datagrid-component-and -item-renderers-/
    I created a dataGrid and inserted the following column:
    <s:GridColumn dataField="status" headerText="VP" itemRenderer="itemRenderer.FirstItemRenderer">
    which uses FirstItemRenderer as ItemRenderer. Here the code for FirstItemRenderer:
    <?xml version="1.0" encoding="utf-8"?>
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
              xmlns:s="library://ns.adobe.com/flex/spark"
                  xmlns:mx="library://ns.adobe.com/flex/mx"
    >
    <fx:Script>
         <![CDATA[
              import mx.events.FlexEvent;
    // You SHOULD be able to use this method to programatically
    // change the appearance of the data in this cell. However it doesn't
    // seem to be called, yet. Probably a work in progress.
                   override public function prepare( willBeRecycled:Boolean ):void {
                        labelSatus.text = "Result";
         /* protected function griditemrenderer1_creationCompleteHandler(event:FlexEvent):void
                   labelSatus.text = "Result";
    ]]>
    </fx:Script>
         <s:Label id="labelSatus"/>
    </s:GridItemRenderer>
    If I use the prepare method, the dataGrid is not populated with the label text "Result". But if I add a creationComplete Event to GridItemRenderer, the dataGrid column is populated with the "Result" text.
    So, my question is am I using the prepare function wrong? Can you show me how to use it to make conditional checks on the data source?
    Thanks in advance,

  • Is not abstract and does not override abstract method ERROR

    Hello. I'm new at all this, and am attempting to recreate a sample code out of my book (Teach Yourself XML in 24 Hours), and I keep getting an error. I appriciate any help.
    This is the Error that I get:
    DocumentPrinter is not abstract and does not override abstract method skippedEntity(java.lang.String) in org.xml.sax.ContentHandler
    public class DocumentPrinter implements  ContentHandler, ErrorHandler
            ^This is the sourcecode:
    import org.xml.sax.Attributes;
    import org.xml.sax.ContentHandler;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.Locator;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.XMLReader;
    public class DocumentPrinter implements  ContentHandler, ErrorHandler
    // A Constant containing the name of the SAX parser to use.
    private static final String PARSER_NAME = "org.apache.xerces.parsers.SAXParser";
    public static void main(String[] args)
       // Check to see whether the user supplied any command line arguments.  If not, print an error and exit.
       if (args.length == 0)
         System.out.println("No XML document path specified.");
         System.exit(1);
       // Create a new instance of the DocumentPrinter class.
       DocumentPrinter dp = new DocumentPrinter();
       try
         // Create a new instance of the XML Parser.
         XMLReader parser = (XMLReader)Class.forName(PARSER_NAME).newInstance();
         // Set the parser's content handler
        // parser.setContentHandler(dp);
         // Set the parsers error handler
         parser.setErrorHandler(dp);
         // Parse the file named in the argument
         parser.parse(args[0]);
       catch (Exception ex)
         System.out.println(ex.getMessage());
         ex.printStackTrace();
    public void characters(char[] ch, int start, int length)
       String chars ="";
       for (int i = start; i < start + length; i++)
         chars = chars + ch;
    System.out.println("Recieved characters: " + chars);
    public void startDocument()
    System.out.println("Start Document.");
    public void endDocument()
    System.out.println("End of Document.");
    public void startElement(String namespaceURI, String localName, String qName, Attributes atts)
    System.out.println("Start element: " + localName);
    for (int i = 0; i < atts.getLength(); i++)
    System.out.println(" Attribute: " + atts.getLocalName(i));
    System.out.println(" Value: " + atts.getValue(i));
    public void endElement(String namespaceURI, String localName, String qName)
    System.out.println("End of element: " + localName);
    public void startPrefixMapping(String prefix, String uri)
    System.out.println("Prefix mapping: " + prefix);
    System.out.println("URI: " + uri);
    public void endPrefixMapping(String prefix)
    System.out.println("End of prefix mapping: " + prefix);
    public void ignorableWhitespace(char[] ch, int start, int length)
    System.out.println("Recieved whitespace.");
    public void processingInstruction(String target, String data)
    System.out.println("Recieved processing instruction:");
    System.out.println("Target: " + target);
    System.out.println("Data: " + data);
    public void setDocumentLocation(Locator locator)
    // Nada
    public void error(SAXParseException exception)
    System.out.println("Parsing error on line " + exception.getLineNumber());
    public void fatalError(SAXParseException exception)
    System.out.println("Fatal parsing error on line " + exception.getLineNumber());
    public void warning(SAXParseException exception)
    System.out.println("Warning on line " + exception.getLineNumber());

    Check to make sure that the arguments are consistent with your ContentHandler class. Probably the wrong type.
    I think you forgot to include the skippedEntity method, it seems to be missing. Even if an implemented class has a method that you are not using, you still have to include the method in your code even if it doesn't do anything.
    Message was edited by:
    ChargersTule1

  • "Your payment method was declined. Please enter another payment method" Error

    Hello,
    I've been trying to download an app for about two hours now. I recently got a new Macbook and iPad, my iPhone is a bit older and has been used frequently. I have only bought paid apps with my iPhone (and other iPad -- not usable currently). I have been trying to download a game which is $4.99 on my account, I have tried with my Mac, iPad, and iPhone, no luck. Every time I get a error saying "Your payment method was declined. Please enter another payment method". I know for a fact I have more than enough money to pay for this app. All the details have been checked and checked again. What is the problem?
    I also get an error when first buying the game (or attemting to) and it says something along the lines of "You've recently used a new device or computer to access this apple id, please sign in to confirm your purchase". That then leads to my confirmation of my security code on my card, which is triggering the first mentioned error.
    Apple Support has not yet given me a response, can any of you help?

    I think that for some international copyright issue, Apple is now blocking purchases from your store if they detect that your IP is outside the frontiers. I've been using my Canadian Visa Card for two years to purchase from France on ITune Store Canada and I never had a problem until today. Impossible to buy RunKeeper Pro. I get the same message you get. The only option seems to swithch back to IStore France and modify the account details with a french address and a french credit card.
    Are you in a similar situation?

  • No such method error

    Hi, I'm getting a message that reads: exception occured during event dispatching: java.lang.nosuchmethod error.
    Here's some of my code for a game of blackjack when I press the start game button everything works fine the textfield displays 2 cards and it gives me a total for the 2 cards.
    But when I press the hit button that's when I get the nosuchmethod error.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*; // added for event handling
    public class Blackjack_Frame
            final JFrame aFrame = new JFrame("MMSD 3610 Blackjack");
            Container contentPane = aFrame.getContentPane();
            aFrame.setSize(450, 200);
         // We don't need to set the layout manager for
         // a JFrame's content pane - it is automatically a
         // BorderLayout by default!
         // Technique for centering a frame on the screen.
         Dimension frameSize = aFrame.getSize();
         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
         aFrame.setLocation((screenSize.width - frameSize.width)/2,
                     (screenSize.height - frameSize.height)/2);
         aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         // Let's create the leftmost panel.  Note that we use names
         // for our components that are somewhat self-documenting.
         JPanel leftPanel = new JPanel();
         // We'll assign the panel a GridLayout (it would otherwise
         // default to FlowLayout).
         leftPanel.setLayout(new GridLayout(3, 1));
         // We'll create two labels on the fly and hand them
         // to the panel; there's no need to bother maintaining
         // a named handle on any of these labels.
         leftPanel.add(new JLabel("BLACKJACK ! :"));
         leftPanel.add(new JLabel("Your hand:"));
         leftPanel.add(new JLabel("Dealers hand:"));
         // Now, we'll attach the panel to the frame.
         contentPane.add(leftPanel, BorderLayout.WEST);
         // Repeat the process with the center panel.
         JPanel centerPanel = new JPanel();
         centerPanel.setLayout(new GridLayout(3, 1));
         // Here we make the TextField un-editable to the users
         // but it is enabled so we can display the cards
            // to the user.
           final JTextField input1TextField = new JTextField(30);
         input1TextField.setEditable(false);
         input1TextField.setEnabled(true);
         JTextField input2TextField = new JTextField(30);
         input2TextField.setEditable(false);
         input2TextField.setEnabled(true);
         JTextField input3TextField = new JTextField(30);
         input3TextField.setEditable(false);
         input3TextField.setEnabled(true);
         centerPanel.add(input1TextField);
         centerPanel.add(input2TextField);
         centerPanel.add(input3TextField);
         contentPane.add(centerPanel, BorderLayout.CENTER);
         // This panel displays all the buttons.
         JPanel buttonPanel = new JPanel();
         buttonPanel.setLayout(new GridLayout(1, 4));
         JButton hitButton = new JButton("HIT");
         JButton stayButton = new JButton("STAY");
         JButton endGameButton = new JButton("END GAME");
         JButton startGameButton = new JButton("START GAME");
         buttonPanel.add(hitButton);
         buttonPanel.add(stayButton);
         buttonPanel.add(endGameButton);
         buttonPanel.add(startGameButton);
         contentPane.add(buttonPanel, BorderLayout.SOUTH);
         // I tried using named inner classes first but didn't have much
         // luck so I had better success with anonymous inner classes.
         // First, we create a listener object to respond to
         // the "START GAME" button.
               ActionListener listen = new ActionListener()
           public void actionPerformed(ActionEvent e)
             CardDeck deck = new CardDeck();
                  deck.shuffle();
                  Hand myHand = deck.dealHand(2);
                  Hand yourHand = deck.dealHand(2);
                 input1TextField.setText(" " + (myHand) +
                     ("  Dealer's hand has " + myHand.getBlackjackHandValue()));
         };  // After doing some research I found I had to use this weird };
                // syntax because I needed to terminate the single statement
                // " ActionListener listen = new ActionListener() "
             // ... and then we register this listener with the appropriate
             // component.
             startGameButton.addActionListener(listen);     
         // We do the same for the "HIT" button.
         listen = new ActionListener()
              public void actionPerformed(ActionEvent e)
               CardDeck deck = new CardDeck();
               deck.shuffle();
               Hand myHand1 = deck.dealHand(1);
                  Card newCard = myHand1.getCard();
    // I seem to be getting the error right here.
                  Hand myHand = newCard.addCardBackInHand();
                  input1TextField.setText(" " + (myHand) +
                     ("  Dealer's hand has " + myHand.getBlackjackHandValue()));
              hitButton.addActionListener(listen);
         // We do the same for the "END GAME" button.
         listen = new ActionListener()
              public void actionPerformed(ActionEvent e)
               aFrame.dispose();
               System.exit(0);
              endGameButton.addActionListener(listen);
           aFrame.setVisible(true);
    // Class defining a hand of cards and we use the ever so helpful Stack to store the hand.
    import java.util.*;
    // The compiler provides us with a default constructor and creates a hand object, which
    // contains a empty Stack or empty hand. We then add a card object by pushing it into
    // our Stack or hand.
    class Hand
      private Stack hand = new Stack();   // Stores the cards in the hand
      public void add(Card card)
        hand.push(card);
    // This method pulls a single card from the Hand.
      public Card getCard()
        return (Card)hand.pop();
    // This method returns the number of cards that are in the hand.
      public int getCardCount()
        return hand.size();
    // This method pushes the hit card back into the hand for display purposes.
       public Hand addCardBackInHand()
         return (Card)hand.push();
      // We need a way to display our hand so we use the toString() method again to display
      // a string representation of our hand object. Here I found another helpful little
      // item called the Iterator it allows me to deal one card at a time and store it in
      // my Stack hand. We also use a buffered stream because transferring data in a buffer
      // is a lot more efficient because it stores chunks of data in memory before
      // transferring the data to or from an external device.
      public String toString()
        Iterator cards = hand.iterator();
        StringBuffer str = new StringBuffer();
        while(cards.hasNext())
          str.append(" "+ (Card)cards.next());
        return str.toString();
      public int getBlackjackHandValue()
        int val;       // Value of the hand.
        boolean ace;   // This will be set to true if we have an ace in our hand.
        int cards;     // Number of cards in the hand.
    // Here we initalize our variables with a value.
        val = 0;
        ace = false;
        cards = getCardCount();
    // Here we use a for loop to loop thru the cards in the hand and then
    // determine a value for those cards.
        for (int i = 0; i < cards; i++)
          int cardVal;                // The value of the card.
          Card card;
          card = getCard();           // Get a card from the hand.
          cardVal = card.getValue();  // Get the value of the card which should
                                      // be between 1 to 13.
          if (cardVal > 10)
            cardVal = 10;  // This assigns a value of 10 to the face cards
          if (cardVal == 1)
            ace = true;   // We have an ace in our Blackjack hand.
            val = val + cardVal;
    // Since an ace can either be a 1 or 11 in blackjack we have to make
    // allowances for that so, if we have an ace and the value of the hand
    // is less than or equal to 21 we do that by adding an extra 10 points
    // to val.
          if (ace == true && val + 10 <= 21)
             val = val + 10;
          return val;  // the value of our blackjack hand.
    }Thanks...........gee mann

    Its hard to say without seeing the Classes CardDeck and Card... stilll let me guess
         listen = new ActionListener()
    public void actionPerformed(ActionEvent e)
         CardDeck deck = new CardDeck();
         deck.shuffle();
         Hand myHand1 = deck.dealHand(1);
    Card newCard = myHand1.getCard();
    // I seem to be getting the error right here.
    Hand myHand = newCard.addCardBackInHand();Are u sure the method addCardBackInHand() is in the class "Card"... I saw a method by that name in the class Hand.... Am i right?

  • Getting no such method error   when calling  getEnvelope()

    I getting this error
    java.lang.NoSuchMethodError: org.apache.xerces.dom.ElementNSImpl.<init>(Lorg/apache/xerces/dom/CoreDocumentImpl;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         at com.sun.xml.messaging.saaj.soap.impl.ElementImpl.<init>(ElementImpl.java:45)
         at com.sun.xml.messaging.saaj.soap.impl.EnvelopeImpl.<init>(EnvelopeImpl.java:40)
         at com.sun.xml.messaging.saaj.soap.impl.EnvelopeImpl.<init>(EnvelopeImpl.java:49)
         at com.sun.xml.messaging.saaj.soap.ver1_1.Envelope1_1Impl.<init>(Envelope1_1Impl.java:34)
         at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.createEmptyEnvelope(SOAPPart1_1Impl.java:39)
         at com.sun.xml.messaging.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:78)
              SOAPPart sp = message.getSOAPPart();
              SOAPEnvelope envelope = sp.getEnvelope();
    when I call the getEnvelope() method I get this message.
    If this is problem because of wrong jar files please guide mew what jar files I must use I am using jdk 1.4
    these are the jar fiels I am using
         <classpathentry kind="lib" path="lib/log4j.jar"/>
         <classpathentry kind="lib" path="lib/xerces.jar"/>
         <classpathentry kind="lib" path="lib/xercesImpl.jar"/>
         <classpathentry kind="lib" path="lib/jdom.jar"/>
         <classpathentry kind="lib" path="lib/activation.jar"/>
         <classpathentry kind="lib" path="lib/classes12.jar"/>
         <classpathentry kind="lib" path="lib/commons-logging-api.jar"/>
         <classpathentry kind="lib" path="lib/j2ee_small_version.jar"/>
         <classpathentry kind="lib" path="lib/jakarta-regexp-1.2.jar"/>
         <classpathentry kind="lib" path="lib/jaxp.jar"/>
         <classpathentry kind="lib" path="lib/jaxp-api.jar"/>
         <classpathentry kind="lib" path="lib/saaj-api.jar"/>
         <classpathentry kind="lib" path="lib/saaj-impl.jar"/>
         <classpathentry kind="lib" path="lib/xalan.jar"/>

    Issue solved. Compatablility issue NWDS 2.0 Version should use for NW 2004.

Maybe you are looking for

  • What is the diffrence between Row id and primary key ?

    dear all my question is about creating materialized views parameters (With Rowid and With Primary kry) my master table contains a primary key and i created my materialized view as follow: CREATE MATERIALIZED VIEW LV_BULLETIN_MV TABLESPACE USERS NOCAC

  • Upgrade make my X server hang forever

    Hi all after my last upgrade from kernel 29 to 30 I cannot get into my linux system as my X will not load - it doesn't give me the console login and it won't allow me to use any other ALT+Fn I managed to get into into the logs and this is what I foun

  • What is better - a great video card or just a bunch of Ram

    We are starting a broadcasting section at our college and I am purchasing some hardware (macs of course) and software. We will be using Final Cut Pro, Photoshop and other software. My question is: If you only had a limited amount of money would you b

  • I updated and now get an audio configuration problem message.

    The message that pops up is "iTunes cannot run because it has encountered a problem with your audio configuration." Any advice?

  • Java.sql.SQLException:  Invalid column name: user_id

    Hi, I am using SQL Server 2000 database and using a Java DAO class executing an SQL query using preparedStatement.The issue is that intermittently i get the following exception: "SQLException:Invalid column name". I checked the filed name in the tabl