Hi
I am using Slide Server as back-end repository and connecting to it using Slide 
JCA 2.1. The client is a JBoss 3.2.3 JMX Service I am implementing.

I am using the code similar the testServlet in the connector example to get the 
UserConnection

        private static UserTransaction userTransactionMgr = (UserTransaction) 
((new InitialContext()).lookup("UserTransaction")));
        userTransactionMgr.begin();

...
      Context ic = new InitialContext();
      connFactory = (WebDAVConnectionFactory) 
ic.lookup("java:/WebDAV-Connector");
...
      webDAVConnection = (WebDAVConnection) connFactory.getConnection(new 
WebDAVConnectionSpec(
          <serverURL>, <username>, <password>, <timeout>));
      webDAVResource = webDAVConnection.getWebdavResource();

Then I use the webDAVResource that I get and perform whatever actions I need to 
perform on the WebDAV server and it all works. At the end of it when I try to 
use 

          userTransactionMgr.commit();

I get the following exception:

[WARN,TransactionImpl] XAException: tx=TransactionImpl:XidImpl [FormatId=257, 
GlobalId=<Machine Name>//1165, BranchQual=] errorCode=XAER_NOTA
javax.transaction.xa.XAException
        at 
org.apache.commons.transaction.util.xa.AbstractXAResource.end(AbstractXAResource.java:133)
        at org.jboss.tm.TransactionImpl.endResource(TransactionImpl.java:1205)
        at org.jboss.tm.TransactionImpl.endResources(TransactionImpl.java:1278)
        at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:355)
        at org.jboss.tm.TxManager.commit(TxManager.java:141)
        at 
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:126)
        at 
com.viviport.business.services.documentmanager.DocumentManagerTransaction.commit(DocumentManagerTransaction.java:79)


I checked the userTransactionMgr.getStatus() return value and it is equal to 
Status.STATUS_ACTIVE before I call the commit.

The JCA connector was deployed in JBoss by dropping webdav-2.1.rar and 
webdav-connector-ds.xml in server deploy directory. The webdav-connector-ds.xml 
looks like:

<?xml version="1.0" encoding="UTF-8"?>
<connection-factories>
  <tx-connection-factory>
     <jndi-name>WebDAV-Connector</jndi-name>
     <xa-transaction/>
     <track-connection-by-tx/> 
     <adapter-display-name>WebDAV-Connector</adapter-display-name>
  </tx-connection-factory>
</connection-factories>

Anybody know what I am doing wrong?

BTW Instead of userTransactionMgr.commit(); I could use webDAVResource. 
commitTransaction(); and it works, but is it really committing the JBoss 
UserTransaction transaction I started or just the WebDAV transaction? It would 
seem only the WebDAV transaction - since JBoss keeps telling me that I have 
timed out transactions (presumably the ones I opened and did not commit).

Any help greatly appreciated.

Thanks

Reply via email to