DevTest Getting MQ 2009 Error When Trying to Connect a QM with Keystore

book

Article ID: 131468

calendar_today

Updated On:

Products

CA Application Test Service Virtualization CA Continuous Application Insight (PathFinder)

Issue/Introduction

After configuring Queue details with Queue Manager Name, Host Name details, Port, Channel, SSL Cipher Suit drop down is not popping up after copying all the required JAR files into lib/shared folder and open workstation.

Provider is not displaying IBMJSSE2 and instead popping Default and error:

Error opening queue manager QU0A, Completion Code 2 (MQCC_FAILED), Reason Code 2009 (MQRC_CONNECTION_BROKEN). Reason: STACK TRACE com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2009'. at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:249) at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(IbmMqUtils.java:93) at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueManagerAsset.createInstance(IbmMqQueueManagerAsset.java:270) at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueManagerAsset.createInstance(IbmMqQueueManagerAsset.java:65) at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.open(LocalAssetRuntime.java:1909) at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.checkOut(LocalAssetRuntime.java:1292) at com.itko.lisa.asset.LocalAssetRuntime$RuntimeEntry.checkOut(LocalAssetRuntime.java:705) at com.itko.lisa.asset.LocalAssetRuntime.doOpenAsset(LocalAssetRuntime.java:165) at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:122) at com.itko.lisa.asset.LocalAssetRuntime.openAsset(LocalAssetRuntime.java:113) at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueAsset.createInstance(IbmMqQueueAsset.java:234) at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueAsset.createInstance(IbmMqQueueAsset.java:43) at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.open(LocalAssetRuntime.java:1909) at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.checkOut(LocalAssetRuntime.java:1292) at com.itko.lisa.asset.LocalAssetRuntime$RuntimeEntry.checkOut(LocalAssetRuntime.java:705) at com.itko.lisa.asset.LocalAssetRuntime.doOpenAsset(LocalAssetRuntime.java:165) at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:122) at com.itko.lisa.asset.LocalAssetRuntime.openAsset(LocalAssetRuntime.java:113) at com.itko.lisa.asset.AssetUtils.verifyRuntimeAsset(AssetUtils.java:1291) at com.itko.lisa.asset.ui.AssetEditor$5.run(AssetEditor.java:305) at com.itko.lisa.asset.ui.ProgressLog$Worker.doInBackground(ProgressLog.java:116) at com.itko.lisa.asset.ui.ProgressLog$Worker.doInBackground(ProgressLog.java:98) at javax.swing.SwingWorker$1.call(SwingWorker.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javax.swing.SwingWorker.run(SwingWorker.java:334) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: Connection to host 'plextst-d0.us.bank-dns.com(1444)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read]],3=plextst-d0.us.bank-dns.com(1444),5=RemoteTCPConnection.receive] at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2281) at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1293) at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:376) at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560) at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:916) at com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:235) ... 36 more Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9213: A communications error for 'TCP' occurred. [1=java.net.SocketException[Connection reset],4=TCP,5=sockInStream.read] at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.receive(RemoteTCPConnection.java:1678) at com.ibm.mq.jmqi.remote.impl.RemoteConnection.receiveTSH(RemoteConnection.java:3013) at com.ibm.mq.jmqi.remote.impl.RemoteConnection.initSess(RemoteConnection.java:1246) at com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:887) at com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:409) at com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:305) at com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:146) at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1729) ... 41 more

Cause

Using wrong MQ port.

MQ jars in hotDeploy and /lib/shared, should only be in /lib/shared.

Were missing a few of the required jar files.  These are needed:

ibmcertpathprovider.jar
ibmjcefips.jar
ibmjcefw.jar
ibmjceprovider.jar
ibmjgssprovider.jar
ibmjsseprovider2.jar
ibmpkcs.jar
ibmpkcs11impl.jar
Needed to update java.security file.

Environment

Release:
Component: ITKOTF

Resolution

One the right MQ Port was configure, and missing jars files added and updating the file JRE_HOME/lib/security/java.security issue was resolved:

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=apple.security.AppleProvider

Added the following lines after those:

security.provider.11=com.ibm.jsse2.IBMJSSEProvider2
security.provider.12=com.ibm.crypto.provider.IBMJCE
security.provider.13=com.ibm.security.jgss.IBMJGSSProvider
security.provider.14=com.ibm.security.cert.IBMCertPath
security.provider.15=com.ibm.security.sasl.IBMSASL
 

Additional Information

MQ connection is terminating with error code 2009
https://www-01.ibm.com/support/docview.wss?uid=swg21472342

The error MQRC_CONNECTION_BROKEN, may also occur if the Server has not whitelisted the client connection.