0

遇到了麻烦:

  • IBM MQ 服务器 v9.1.0.0
  • pymqi==1.11.1

尝试连接服务器时出现错误:

pymqi.MQMIError: MQI Error. Comp: 2, Reason 2035: FAILED: MQRC_NOT_AUTHORIZED

当我检查 Wireshark 的流量时,我得到了: 实际结果

在服务器日志中:

07/31/2020 10:08:02 AM - Process(27333.5) User(mqm) Program(amqrmppa)
                    Host(host) Installation(Installation1)
                    VRMF(9.1.0.0) QMgr(queue_manager)
                    Time(2020-07-31T07:08:02.253Z)
                    ArithInsert1(2) ArithInsert2(2035)
                    CommentInsert1(haha)
                   
AMQ9557E: Queue Manager User ID initialization failed for 'haha'.

EXPLANATION:
The call to initialize the User ID 'haha' failed with CompCode 2 and Reason
2035. If an MQCSP block was used, the User ID in the MQCSP block was ''.
ACTION:
Correct the error and try again.

我的代码示例:

import pymqi

host = "host"
port = 1416

conn_info = f"{host}({port})"
channel = "channel"

queue_manager = "queue_manager"


def main():
    manager = pymqi.connect(queue_manager=queue_manager, channel=channel, conn_info=conn_info)


if __name__ == '__main__':
    main()

我尝试从其他设备执行代码,因此,我运行的帐户被视为用户 ID。

之后我请求我们的支持来解决这个问题,之后我能够连接一个帐户哈哈,但是创建允许用户列表的解决方案不适合我。有什么方法可以控制发送的 UserIDpymqi吗?


UPD 04.08.2020

支持团队说用户phoenix是在 IBM MQ 服务器上创建的,密码123456789为 ,尝试发送一个 MQSCP:

manager = pymqi.connect(queue_manager=queue_manager, channel=channel,
            conn_info=conn_info, user="phoenix", password="123456789")

并得到类似的错误MQRC_NOT_AUTHORIZED,服务器日志包含与代码启动的机器的用户名相同的错误(不是phoenix)。

4

0 回答 0