Getting "QueueTransportUnavailableException: javax.jms.JMSException: CC=2; RC 2009" when using WebSphere Application Server V7 and after migrating to WebSphere MQ V7.5

Technote (troubleshooting)


You have a J2EE application that is deployed in WebSphere Application Server (WAS). Upon connecting to the WebSphere MQ queue manager, this application gets the following exception:
QueueTransportUnavailableException: javax.jms.JMSException: CC=2; RC 2009

Output of "MQRC 2009"shows this message code: MQRC_CONNECTION_BROKEN

For numerous reasons, IBM had to adjust where the WebSphere MQ resource adapter was installed after WebSphere Application Server V7 was shipped. This means that if you install WAS and then create a profile, then the profile will hold a copy of the resource adapter which will not get updated by service updates. If you create a profile at WAS or later then the profile will point to the copy of the resource adapter in the root install directory, which does get updated by service, and this issue will not occur. The script below swaps the pointer to the resource adapter from the one in the profile to the one in the root install directory.


FDC files are generated in the profile_root/mqm/errors directory:

Probe Id :- RM680037
Component :- rriBadDataReceived
Program Name :- amqrmppa
Major Errorcode :- rrcE_PROTOCOL_ERROR
Probe Description :- AMQ9504: A protocol error was detected for channel
Arith1 :- 24 (0x18)
Arith2 :- 28 (0x1c)

The exception QueueTransportUnavailableException is written to the WAS SystemOut log file.

Other generic errors may be seen in the MQ error logs. The following is one of them:

AMQ6183: An internal WebSphere MQ error has occurred.


Incompatible/outdated WebSphere MQ Resource Adapter.

Diagnosing the problem

You can verify the diagnostic data from both, WAS and MQ, and see if it matches the entries listed in the Symptom section above.

Resolving the problem

There are a few steps that comprise the resolution of this problem. These steps are actually outlined in this session of the Information Center for WAS V7:

You should follow all the steps outlined in the Information Center, however, in step 4, which is the most important step, you might run into some syntax errors upon trying to run the Jython script If you do, use the following script instead:

ras = AdminUtilities.convertToList(AdminConfig.list('J2CResourceAdapter'))

for ra in ras :
   desc = AdminConfig.showAttribute(ra, "description")
#  if (desc == "WAS 7.0 Built In WebSphere MQ Resource Adapter") or
#     (desc == "WAS Built In WebSphere MQ Resource Adapter") or
#     (desc == "WAS Built In WebSphere MQ Resource Adapter"):
   if desc.endswith( 'MQ Resource Adapter' ):
      print "Updating archivePath and classpath of " + ra
      AdminConfig.modify(ra, [['archivePath', "${WAS_INSTALL_ROOT}/installedConnectors/wmq.jmsra.rar"]])
      AdminConfig.unsetAttributes(ra, ['classpath'])
      AdminConfig.modify(ra, [['classpath', "${WAS_INSTALL_ROOT}/installedConnectors/wmq.jmsra.rar"]])
   #end if
#end for

Just as instructed in the Information Center section above, copy this new Jython script into a file called and then save it in the profile_root/bin directory and run it using the wsadmin tool. Once this is done, go on to the next step, step 5, in the Information Center section above.

Cross reference information
Segment Product Component Platform Version Edition
Business Integration WebSphere MQ Service Integration Technologies /SIB

Product Alias/Synonym

WebSphere Application Server WAS SIB SIBUS SI BUS WMQ WebSphere MQ MQSeries

Document information

More support for:

WebSphere Application Server
Service Integration Technology

Software version:


Operating system(s):

AIX, HP-UX, Linux, Solaris, Windows

Software edition:

Network Deployment

Reference #:


Modified date:


Translate my page

Content navigation