1
votes

I'm testing a WebLogic MDB (running on my local Windows dev environment - Eclipse/WebLogic 10.3.2) with WebSphere MQ 6.0.1.0 (running on a Linux server). The WebSphere MQ components have been previously configured and I have the correct .bindings file.

I have followed the instructions described here. I have no problem consuming messages that are placed on the MQ queue. However, when I attempt to configure the MDB to put messages back to the MQ queue I get the following warning upon server start-up:

<Warning> <JMSPool> <BEA-169808> <There was an error while making the initial 
connection to the JMS resource named jms/WLSenderQCF from the EJB "TestMDB"
inside application "EJB Test 2EAR". The server will attempt the connection
again later.  The error was javax.jms.JMSException: MQJMS1068: failed to obtain
XAResource> 

If I place a message on the queue, my MDB consumes the messages, but these exceptions are thrown when the MDB attempts to put the message to the MQ Queue:

javax.jms.JMSException: MQJMS1068: failed to obtain XAResource...

javax.transaction.xa.XAException: client connection not XA enabled...

java.lang.NullPointerException

Anyone run into this and knows what the problem is?

Thanks for any help.

1
When you get the JMS exception and then print the linked exception (which SURELY you do because every good JMS app does this, right?) what is the WMQ reason code in the linked exception? This will tell you what WMQ thinks the error is. Alternatively, what shows up in the WMQ error log when this happens? - T.Rob

1 Answers

0
votes

One issue seems to be the version of MQ you're using. It is ancient. IBM took MQ 6 out of support quite a while ago (Sept '12! http://www-01.ibm.com/support/docview.wss?uid=swg21584325).

Things got a lot easier when IBM decided to include the extended transactional client in the product for free: http://www-01.ibm.com/support/docview.wss?uid=swg21584325

So one option might be to upgrade to a version which includes this out of the box: 7.0.1.12+ 7.1.0.5+ 7.5 8.0

Otherwise... look into the v6 documentation on how to enable the 'extended transactional client' for JMS assuming you paid for it.