2017-02-17 107 views
1

で失敗しました。春のJMSプロジェクトで、私はSpringクライアントの同じ場所に配置されたIBM MQ QUEUEです。 アプリケーションは、私は、次のエラーを得たMQサーバーに接続しようとします:IBM MQの問題:jmscmq0001 websphere mq呼び出しが、コンパイルコード '2'( 'mqcc_failed')理由 '2035'

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サーバー(のWindows 64-ビット)バージョン= 8.0.0.4

春のJMSアプリケーション(瓶)バージョン= 7.0

ログファイル(AMQERR01.LOG)内容:

----- 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 -------------------------------------------------------- 
+0

キュー・マネージャーのAMQERR01.LOGファイルで、クライアント・エラーに対応するエラーを調べます。 JMS jarファイルはどのバージョンのMQからですか?キュー・マネージャーはどのバージョンのMQですか?サーバー上のMQのバージョンによっては、CHLAUTHが接続をブロックしているか、CONNAUTHが接続をブロックしているか、またはMQ許可の問題(OAM)が原因で2035が発生する可能性があります。質問を新しい詳細で更新(編集)してください。 – JoshMc

+0

@JoshMcありがとうございました! – Mac

+0

実際には、私は少しばかり混乱しています。なぜなら、私はIBM MQの世界では新しいからです。:) – Mac

答えて

1

MQ v8.0では、デフォルトでAUTHINFOオブジェクトSYSTEM.DEFAULT.AUTHINFO.IDPWOSを指すCONNAUTHが導入されています。このオブジェクトは、デフォルトで属性がREQDADMに設定されています。 REQDADMは、MQ管理権限を持つSVRCONNチャネルに接続しているすべてのユーザーが有効なパスワードを提供する必要があることを意味します。これは、例えば、mqmグループ内にあるユーザーです。以下は

あなたはAMQERR01.LOGで受信したエラーは英語でどのように見えるかです:

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. 

あなたの春の設定を使用すると、認証するためにMQにユーザー名とパスワードを渡すことができるはずです。デフォルトでは、SYSTEM.DEFAULT.AUTHINFO.IDPWOSオブジェクトは、オペレーティングシステムに対してパスワードをチェックするように設定されます。

アプリケーションにMQ管理権限が必要ない場合は、MQ管理権限を持たないユーザーIDを使用し、そのユーザーに、キュー・マネージャーおよびキューにアクセスするために必要な特定のOAM許可を与えることをお勧めします。

MQ v7.0 JMS jarファイルでは、ユーザー名とパスワードを送信できますが、それぞれ12文字に制限されています。パスワードは、クライアントとキューマネージャの間でネットワーク経由でクリアに送信されます。 MQ v8.0以降では、12文字より長いユーザー名とパスワードを送信できます。また、MQ互換モードをオフにすると、ネットワーク経由で送信されている間にパスワードを3DESで暗号化するパスワード保護を利用できます。また、MQ v7.0は2015年9月30日からIBMのサポートを外していることにも注意してください。

@MoragHughsonはこのセキュリティを有効にする方法を説明していて、いいと思う素晴らしいIBM developerWorks MQdevブログ " Getting going without turning off MQ Security"出発点。特定の質問を投稿して[]とタグ付けして[]のような他のタグとタグ付けするために、CONNAUTH、OAM、またはSpringの設定に関する詳細な質問がある場合は、

+0

こんにちは@JoshMc! IBM MQ/JMSの問題に関する私の新しい質問をご覧ください。 http://stackoverflow.com/questions/42623745/javax-naming-namingexception-unexpected-exception-root-exception-is-java-lang?noredirect=1#comment72379247_42623745 – Mac

関連する問題