首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IBM问题: jmscmq0001 websphere MQ调用失败,压缩代码'2‘('mqcc_failed')原因是'2035’

IBM问题: jmscmq0001 websphere MQ调用失败,压缩代码'2‘('mqcc_failed')原因是'2035’
EN

Stack Overflow用户
提问于 2017-02-17 00:13:56
回答 1查看 3.1K关注 0票数 2

在spring项目中,我尝试连接到放置在spring客户机所在位置的IBM队列。当应用程序试图连接到MQ服务器时,我得到了以下错误:

代码语言:javascript
运行
复制
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)

(Windows 64位)版本= 8.0.0.4

Spring应用程序(Jars)版本= 7.0

日志文件(AMQERR01.LOG)内容:

代码语言:javascript
运行
复制
----- 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 --------------------------------------------------------
EN

Stack Overflow用户

回答已采纳

发布于 2017-02-17 04:02:01

在MQV8.0中,IBM引入了CONNAUTH,默认情况下它指向一个AUTHINFO对象SYSTEM.DEFAULT.AUTHINFO.IDPWOS。默认情况下,此对象的CHCKCLNT属性设置为REQDADMREQDADM意味着任何连接到具有MQ管理权限的SVRCONN通道的用户都必须提供有效的密码。例如,这将是mqm组中的用户。

下面是您在AMQERR01.LOG中收到的英文错误:

代码语言:javascript
运行
复制
AMQ5541: The failed authentication check was caused by the queue manager
CONNAUTH CHCKCLNT(REQDADM) configuration.
EXPLANATION: The user ID 'john' and its password were checked because the
user ID is privileged and the queue manager connection authority (CONNAUTH)
configuration refers to an authentication information (AUTHINFO) object
named 'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' with CHCKCLNT(REQDADM). This message
accompanies a previous error to clarify the reason for the user ID and
password check.

使用spring配置,您应该能够将用户名和密码传递给MQ以进行身份验证。默认情况下,SYSTEM.DEFAULT.AUTHINFO.IDPWOS对象将被设置为根据操作系统检查密码。

如果应用程序不需要MQ管理权限,则建议使用一个没有MQ管理权限的userid,并授予该用户访问所需的队列管理器和队列所需的特定OAM权限。

MQV7.0JMS jar文件可以发送用户名和密码,但每个文件仅限于12个字符,还可以通过客户端和队列管理器之间的网络发送密码。MQV8.0及更高版本可以发送超过12个字符的用户名和密码,还可以利用密码保护,在关闭MQ兼容模式的情况下,在通过网络发送时使用3 3DES加密密码。还请注意,MQV7.0自2015年9月30日以来一直没有得到IBM的支持。

@Morag休森写了一个不错的IBM developerWorks MQdev博客,名为"在不关闭MQ安全性的情况下继续工作“,它解释了如何保持这种安全性,这将是一个很好的起点。我建议,如果您有任何关于CONNAUTH、OAM或Spring配置的其他特定问题要发送用户名和密码,则可以发布额外的特定问题,并将它们与[ibm-mq]以及任何其他适当的标记(如[春天] )一起标记,等等。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42287158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档