我是 IBM Websphere Mq 的“非常”新手,我将尝试提供尽可能多的细节。
我在 Vmware Workstation 上运行的 Windows server 2003 上安装了 Websphere MQ 7.1。主机运行带有 Websphere MQ 客户端和我的 ASP.NET 应用程序的 Windows 7。(我的应用程序应该通过 SVRCONN 通道连接到 Windows server 2003 Websphere 的队列管理器,安装在主机上的 Websphere 客户端仅用于测试目的,将 WMQ 客户端连接到 WMQ 服务器会导致 AMQ4036 访问未授权错误,从而导致结论需要服务器配置!)
两个系统都可以互相ping通,并且在同一个本地网络上。(我是否也提到过打开 1415 端口并且 TCP 侦听器正在服务器虚拟机上运行?)
ASP.NET 代码段:
queueManager = new MQQueueManager(queueManagerName, queueProperties);
queueManagerName 与服务器的队列管理器和 queueProperties 匹配,如下所示:
queueProperties[MQC.HOST_NAME_PROPERTY] = "192.168.203.128";
queueProperties[MQC.PORT_PROPERTY] = 1415;
queueProperties[MQC.CHANNEL_PROPERTY] = "QM_TEST.SVRCONN";
queueProperties[MQC.USER_ID_PROPERTY] = "";
queueProperties[MQC.PASSWORD_PROPERTY] = "";
编译时,我得到 MQRC_NOT_AUTHORIZED 异常,并在服务器端的 AMQERR01.log 中记录以下日志(注意:IBM WMQ 以法语安装,日志以法语生成,但我认为您会设法理解错误。)
3/04/2013 21:32:25 - Process(1120.3) User(MUSR_MQADMIN) Program(amqzmur0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ6287: WebSphere MQ VC:\Program Files\IBM\WebSphere MQ (Installation1).
EXPLICATION :
Informations système WebSphere MQ :
Produit :- Windows Server 2003, Build 3790: SP1 (MQ Windows 32-bit)
Version :- C:\Program Files\IBM\WebSphere MQ (Installation1)
Informations hôte :- 7.1.0.2 (p710-002-121029)
ACTION :
Aucun(e).
-------------------------------------------------------------------------------
13/04/2013 21:32:25 - Process(2128.11) User(MUSR_MQADMIN) Program(amqzlaa0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ8075: L'autorisation a échoué car il est impossible d'obtenir le SID de
l'entité 'hatrix'.
EXPLICATION :
Le gestionnaire des droits d'accès aux objets n'a pas pu obtenir le SID de
l'entité spécifiée. Cet incident peut être dû à l'absence de la machine locale
du domaine (l'entité ne peut donc pas être localisée) ou à l'inexistence de
l'entité.
ACTION :
Vérifiez que l'entité est valide et que tous les contrôleurs de domaine requis
sont disponibles. Il peut être nécessaire de créer l'entité sur la machine
locale.
----- amqzfubn.c : 2227 -------------------------------------------------------
13/04/2013 21:32:25 - Process(2524.7) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9245: Impossible d'extraire des détails de compte pour l'ID utilisateur de
canal MCA.
EXPLICATION :
WebSphere MQ n'a pas pu extraire des détails de compte pour l'ID utilisateur de
canal MCA Hatrix. Il s'agit de l'ID utilisateur MCA pour le canal
QM_TEST.SVRCONN sur le gestionnaire de files d'attente QM_TEST. Il peut avoir
été défini dans la définition de canal ou fourni par un exit de canal ou un
client.
ACTION :
Vérifiez que l'ID utilisateur est correct et qu'il est défini dans le système
local Windows, le domaine local ou un domaine de confiance. Dans le cas d'un ID
utilisateur de domaine, assurez-vous que que tous les contrôleurs de domaines
nécessaires sont disponibles.
----- cmqxrsrv.c : 1778 -------------------------------------------------------
13/04/2013 21:32:25 - Process(2128.11) User(MUSR_MQADMIN) Program(amqzlaa0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ8073: Echec de l'autorisation. Le SID ((None)) n'a pas pu être corrélé.
EXPLICATION :
Le gestionnaire de droits d'accès aux objets n'a pas pu faire correspondre le
SID spécifié à des informations connues d'entité et de domaine.
ACTION :
Assurez-vous que l'application fournit un SID reconnu sur ce système, que tous
les contrôleurs de domaines nécessaires sont disponibles et que les règles de
sécurité sont correctement définies.
----- amqzfubn.c : 4351 -------------------------------------------------------
DISPLAY CHLAUTH(QM_TEST.SVRCONN) 命令返回:
CHLAUTH(QM_TEST.SVRCONN) TYPE(USERMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) CLNTUSER(HATRIX)
MCAUSER( ) USERSRC(CHANNEL)
WARN(NO) ALTDATE(2013-04-13)
ALTTIME(13.53.03)
AMQ8878: Affichage des détails relatifs à l'enregistrement d'authentification de
canal.
CHLAUTH(QM_TEST.SVRCONN) TYPE(USERMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) CLNTUSER(MQM)
MCAUSER( ) USERSRC(CHANNEL)
WARN(NO) ALTDATE(2013-04-13)
ALTTIME(13.57.59)
AMQ8878: Affichage des détails relatifs à l'enregistrement d'authentification de
canal.
CHLAUTH(QM_TEST.SVRCONN) TYPE(ADDRESSMAP)
DESCR( ) CUSTOM( )
ADDRESS(*) MCAUSER(ADMINISTRATEUR)
USERSRC(MAP) WARN(NO)
ALTDATE(2013-04-13) ALTTIME(01.53.52)
(请注意,我添加了一些规则,并且 USERID Hatrix 不存在,我已将其包含在 SET CHLAUTH 命令中以进行测试)
我认为它与 MCAuser 有关,所以我尝试将 MCAuser 设置为“Administrateur”(这是 WMQ 上的管理员名称)并连接:
queueProperties[MQC.USER_ID_PROPERTY] = "Administrateur";
仍然给我同样的错误,但服务器端日志输出不同:
13/04/2013 21:41:18 - Process(1120.3) User(MUSR_MQADMIN) Program(amqzmur0.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ6287: WebSphere MQ VC:\Program Files\IBM\WebSphere MQ (Installation1).
EXPLICATION :
Informations système WebSphere MQ :
Produit :- Windows Server 2003, Build 3790: SP1 (MQ Windows 32-bit)
Version :- C:\Program Files\IBM\WebSphere MQ (Installation1)
Informations hôte :- 7.1.0.2 (p710-002-121029)
ACTION :
Aucun(e).
-------------------------------------------------------------------------------
13/04/2013 21:41:18 - Process(2524.8) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9776: La canal a été bloqué par l'ID utilisateur.
EXPLICATION :
Le canal entrant 'QM_TEST.SVRCONN' a été bloqué à partir de l'adresse
'192.168.203.1' parce que les valeurs actives du canal étaient mappées sur un
ID utilisateur qui devrai t être bloqué. Les valeurs actives du canal étaient
**'MCAUSER(Administrateur) CLNTUSER(Hatrix)'.**
ACTION :
Prenez contact avec l'administrateur système qui examinera les enregistrements
d'authentification de canal pour s'assurer que les paramètres corrects ont été
configurés. Le commutateur ALTER QMGR CHLAUTH permet de contrôler si les
enregistrements d'authentification de canal sont utilisés. La commande DISPLAY
CHLAUTH peut être utilisée pour interroger les enregistrements
d'authentification de canal.
----- cmqxrmsa.c : 1004 -------------------------------------------------------
13/04/2013 21:41:18 - Process(2524.8) User(MUSR_MQADMIN) Program(amqrmppa.exe)
Host(HATRIXX-82HDFHA) Installation(Installation1)
VRMF(7.1.0.2) QMgr(QM_TEST)
AMQ9999: Le canal 'QM_TEST.SVRCONN' vers l'hôte 'FAIROUZ (192.168.203.1)' s'est
terminé anormalement.
EXPLICATION :
Le programme du canl s'exécutant sous l'ID processus 2524(488) pour le canal
'QM_TEST.SVRCONN' a pris fin anormalement. Le canal est 'FAIROUZ
(192.168.203.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 : 925 --------------------------------------------------------
我无法理解的是,在 ASP.NET 的 queuemanager 属性中,USERID 和 PASSWORD 的用途是什么,其中 WMQ 中标识的 USERID 是“ Hatrix ”(这是 Windows 7 帐户的名称)。
我是否必须在 WMQ 中创建一个新的 USERID“ Hatrix ”才能使我的代码正常工作?(我不知道怎么做)
提前谢谢,
MQ调试。