In a spring JMS project, I try to connect to an IBM MQ QUEUE placed in the same place where the spring client is. When the application tries to connect to the MQ server I got the following error:
INFO - Could not refresh JMS Connection for destination 'TI.UNIT1.TRAN.IN' - retrying in 5000 ms. Cause: JMSWMQ2013: L'authentification de la sécurité fournie pour le gestionnaire de files d'attente 'QM_TEST' à l'aide du mode de connexion 'Client' et du nom d'hôte 'localhost' n'était pas valide.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: L'appel WebSphere MQ a échoué avec le code achèvement '2' ('MQCC_FAILED') ; motif '2035' ('MQRC_NOT_AUTHORIZED').
com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: L'authentification de la sécurité fournie pour le gestionnaire de files d'attente 'QM_TEST' à l'aide du mode de connexion 'Client' et du nom d'hôte 'localhost' n'était pas valide. Vérifiez si le nom dutilisateur et le mot de passe fournis sont corrects dans le gestionnaire de files dattente auquel vous vous connectez
at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:531)
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:219)
at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:410)
at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7855)
at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:7441)
at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:276)
at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6055)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:115)
at org.springframework.jms.listener.DefaultMessageListenerContainer102.createConnection(DefaultMessageListenerContainer102.java:71)
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:378)
at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:363)
at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:785)
at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:767)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:898)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: L'appel WebSphere MQ a échoué avec le code achèvement '2' ('MQCC_FAILED') ; motif '2035' ('MQRC_NOT_AUTHORIZED').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:206)
IBM MQ Server (Windows 64bits) version = 8.0.0.4
Spring JMS application(jars) version = 7.0
Log file (AMQERR01.LOG
) content :
----- cmqxrsrv.c : 2321 -------------------------------------------------------
17/02/2017 01:40:20 - Process(6472.10) User(John) Program(amqzlaa0.exe)
Host(MyMachine) Installation(Installation1)
VRMF(8.0.0.4) QMgr(QM_TEST)
AMQ5540: L'application 'WebSphere MQ Client for Java' n'a pas fourni d'ID
utilisateur et de mot de passe
EXPLICATION :
Le gestionnaire de files d'attente est configuré pour nécessiter un ID
utilisateur et un mot de passe, mais ni l'un ni l'autre n'a été fourni.
ACTION :
Assurez-vous que l'application fournit un ID utilisateur et un mot de passe
valides ou spécifiez FACULTATIF pour la configuration du gestionnaire de files
d'attente afin de permettre aux applications n'ayant pas fourni d'ID
utilisateur et de mot de passe de se connecter.
----- amqzfuca.c : 4287 -------------------------------------------------------
17/02/2017 01:40:20 - Process(6472.10) User(John) Program(amqzlaa0.exe)
Host(MyMachine) Installation(Installation1)
VRMF(8.0.0.4) QMgr(QM_TEST)
AMQ5541: L'échec de la vérification de l'authentification a été provoqué par la
configuration CONNAUTH CHCKCLNT(REQDADM) du gestionnaire de files d'attente.
EXPLICATION :
L'ID utilisateur 'john' et son mot de passe ont été vérifiés car l'ID
utilisateur est privilégié et la configuration de l'autorité de connexion du
gestionnaire de files d'attente (CONNAUTH) fait référence à un objet
d'informations d'authentification (AUTHINFO) nommé
'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' avec CHCKCLNT(REQDADM).
Ce message accompagne une erreur précédente pour expliquer la raison de la
vérification de l'ID utilisateur et du mot de passe.
ACTION :
Pour plus d'informations, reportez-vous à l'erreur précédente.
Vérifiez que l'application client spécifie un mot de passe et que le mot de
passe est correct pour l'ID utilisateur. La configuration de l'authentification
de la connexion du gestionnaire de files d'attente détermine le référentiel
d'ID utilisateur. Par exemple, la base de données utilisateur du système
d'exploitation local ou un serveur LDAP.
Pour éviter la vérification de l'authentification, vous pouvez utiliser un ID
utilisateur non privilégié ou changer la configuration d'authentification du
gestionnaire de files d'attente. Vous pouvez modifier l'attribut CHCKCLNT dans
l'enregistrement CHLAUTH, mais vous devez éviter d'autoriser l'accès distant
non authentifié.
-------------------------------------------------------------------------------
17/02/2017 01:40:21 - Process(11528.7) User(John) Program(amqrmppa.exe)
Host(MyMachine) Installation(Installation1)
VRMF(8.0.0.4) QMgr(QM_TEST)
AMQ9557: Echec de l'initialisation de l'ID utilisateur du gestionnaire de files
d'attente pour 'John'.
EXPLICATION :
L'appel d'initialisation de l'ID utilisateur 'John' a échoué avec le code
achèvement 2 et le code anomalie 2035.
ACTION :
Corrigez l'erreur et relancez l'opération.
----- cmqxrsrv.c : 2321 -------------------------------------------------------
17/02/2017 01:40:21 - Process(11528.7) User(John) Program(amqrmppa.exe)
Host(MyMachine) Installation(Installation1)
VRMF(8.0.0.4) QMgr(QM_TEST)
AMQ9206: Erreur lors de l'envoi de données à l'hôte MyMachine (127.0.0.1).
EXPLICATION :
Une erreur s'est produite lors de l'envoi de données à 'MyMachine (127.0.0.1)'
via TCP/IP. Un incident de communications en est peut-être la cause.
ACTION :
Le code retour provenant de l'appel TCP/IP(send) était 10054 X('2746'). Notez
ces valeurs et informez-en votre administrateur système.
----- amqccita.c : 3169 -------------------------------------------------------
17/02/2017 01:40:21 - Process(11528.7) User(John) Program(amqrmppa.exe)
Host(MyMachine) Installation(Installation1)
VRMF(8.0.0.4) QMgr(QM_TEST)
AMQ9999: Le canal 'SYSTEM.ADMIN.SVRCONN' vers l'hôte '127.0.0.1' s'est terminé
anormalement.
EXPLICATION :
Le programme du canl s'exécutant sous l'ID processus 11528(876) pour le canal
'SYSTEM.ADMIN.SVRCONN' a pris fin anormalement. Le canal est '127.0.0.1'. Dans
certains cas, son nom ne peut pas être déterminé et il est représenté par
'????'.
ACTION :
Examinez les messages d'erreur précédents du programme de canal dans les
journaux des erreurs afin de déterminer la cause de l'incident. Notez que ce
message peut être totalement exclus ou supprimé en réglant les attributs
"ExcludeMessage" ou "SuppressMessage" sous la strophe "QMErrorLog" dans le
fichier qm.ini. D'autres informations figurent dans le guide d'administration
du système.
----- amqrmrsa.c : 930 --------------------------------------------------------
AMQERR01.LOG
file for a error that corresponds to the client error. What Version of MQ are the JMS jar files from? What version of MQ is the queue manager at? Depending on the version of MQ on the server the 2035 could be caused by CHLAUTH blocking the connection, CONNAUTH blocking the connection, or because of a MQ permission issue (OAM). Please update (edit) the question with the new details. – JoshMcjohn
. The last part of my answer has some recommendations. If you want to explore any of those topics it would be better to open a separate question for each topic you have questions about. – JoshMc