【问题标题】:.net application send and receive directly to Remote Queue Manager.net 应用程序直接向远程队列管理器发送和接收
【发布时间】:2015-03-01 10:19:47
【问题描述】:

我正在尝试将我的 VB.net 应用程序连接到远程队列管理器。

但不断收到以下错误:MQRC_Q_MGR_NAME_ERROR。谁能告诉我我做错了什么?

这是我正在使用的代码:

Dim mqQMgr As MQQueueManager = Nothing

            Dim props As New Hashtable()
            props.Add(MQC.HOST_NAME_PROPERTY, "192.168.28.191")
            props.Add(MQC.CHANNEL_PROPERTY, "SYSTEM.ADMIN.SVRCONN")
            props.Add(MQC.USER_ID_PROPERTY, "AQ")
            props.Add(MQC.PORT_PROPERTY, 1313)
            props.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_BINDINGS)

          mqQMgr = New MQQueueManager("QMSEPAM", props)

我也尝试了不同的连接方法(MQC.TRANSPORT_MQSERIES_CLIENT),我得到以下错误:

"MQRC_NOT_AUTHORIZED"

提前致谢。

【问题讨论】:

    标签: vb.net ibm-mq


    【解决方案1】:

    您需要将MQC.TRANSPORT_PROPERTY 属性设置为MQC.TRANSPORT_MQSERIES_MANAGEDMQC.TRANSPORT_MQSERIES_CLIENT 以通过TCP/IP 套接字连接到在远程机器上或与您的应用程序在同一机器上运行的队列管理器。 MQC.TRANSPORT_MQSERIES_BINDINGS 应仅在队列管理器与您的应用程序在同一台机器上运行时使用,在这种情况下,您的应用程序将使用共享内存与队列管理器进行通信。

    如果您的应用程序尝试连接到远程队列管理器的用户没有权限,则会抛出 MQRC_NOT_AUTHORIZED (2035)。提供对队列管理器的访问权限的方法有多种,请与您的 IBM MQ 管理员联系以向您提供所需的权限。看看这个link。顺便说一句,您使用的是哪个版本的 MQ?

    更新:两点

    1) 用户 AQ 是否与运行 .NET 应用程序的机器的登录用户相同?除非您使用安全出口,否则 MQ .NET v7.5 会将登录的用户 ID 发送到队列管理器以进行授权。如果您没有使用任何安全出口,则登录的用户 ID 必须存在于远程计算机上并且具有连接权限。

    2) 不要将用户添加到mqm,因为Channel Authentication 功能阻止该组中的用户连接到队列管理器

    您可以阅读 SO 中的几篇文章:

    WebSphere MQ v7.1 Security User Credentials

    MQRC_NOT_AUTHORIZED error while connecting to Websphere MQ 7.1

    最后,如果您只是测试您的应用程序并且并不真正需要用户 ID 授权,那么您可以通过运行以下 runmqsc 命令来禁用通道身份验证。

    ALTER QMGR CHLAUTH (DISABLED)
    

    【讨论】:

    • 你好,谢谢。我现在很清楚 MQC.TRANSPORT_PROPERTY_CLIENT,但我仍然遇到同样的错误。我在服务器和客户端上都创建了一个用户(AQ),并将这个用户添加到管理和 mqm GRoup。我什至为频道设置了 MCA 用户 ID:SYSTEM.ADMIN.SVRCONN。仍然是同样的错误。还有什么我应该做的吗?我正在使用 MQ7.5
    • 授权失败的原因应该在队列管理器错误日志(AMQERR01.LOG)中。您可以在 /path/to/qmgr/data/qmgrs/qmgr_name/errors 找到 qmgr 错误日志
    猜你喜欢
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多