Dans un environnement ITIM, qui utilise une base Oracle, on a parfois des messages d'erreurs dans le fichier WebSphere SystemOut.log :
[4/10/14 13:50:15:672 MSD] 0000000a WSRdbXaResour E DSRA0304E: XAException occurred. XAException contents and details are: The cause is : null.
[4/10/14 13:50:15:673 MSD] 0000000a WSRdbXaResour E DSRA0302E: XAException occurred. Error code is: XAER_RMERR (-3). Exception is: <null>
[4/10/14 13:50:15:674 MSD] 0000000a XARminst E WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@1c1b1c1b. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException
Une méthode de résolution est de supprimer le répertoire de transactions.
Attention : ceci fait perdre toutes les transactions en cours. Il faut donc faire cela en dernier recours...
Par exemple :
cd /opt/websphere/V7.0/AppServer/profiles/AppSrv01
find . -name transaction
./tranlog/lnxApp01Node01Cell/node01/server1/transaction
cd
./tranlog/lnxApp01Node01Cell/node01/server1/transaction
rm -r tranlog patnerlog
Puis redémarrer WebSphere.
Il faut également que l'utilisateur possède les droits corrects sur la base, comme expliqué ici :
IBM Identity Manager - Pb sur messaging engine