I am trying to do some database operations (On multiple databases ) to ORacle 9.0.1 and sends a JMS message to MQSeries from my stateless session EJB method and the requirement is all the operations need to be consider as a single transaction . I tried to use JTA
InitialContext ctx = new InitialContext();
UserTransaction ut = (UserTransaction) ctx.lookup ("java:comp/UserTransaction");
If I remove the JMS transaction everything works fine (Rollback and Commit ) but when I include the JMS transaction I get
"WTRN0063E: An illegal attempt to enlist a one phase capable resource with existing two phase capable resources has occurred" when attempting to execute a transaction.
I am using Websphere application developer 5.0 , j2ee 1.2 version (EJB 1.1) with oracle thin client data base with data source 4.0 .
Help is greatly appreciated
You probably are not using the JMS provider that supports 2-phase protocol.
When you set up ur JMS provider(in WAS admin console), in ur case MQSeries, make sure u pick XA supported provider. or there should be like a check-box on admin console which says XA support or something. make sure its selected.