【问题标题】:AMQ9504: A protocol error was detected for channelAMQ9504:检测到通道的协议错误
【发布时间】:2013-01-14 14:15:14
【问题描述】:

我无法通过 WebSphere MQ 的队列管理器从 WebSphere Application Server 远程连接。无论如何,它从安装在同一台机器上的 WAS 连接到队列管理器。我使用的是 WebSphere MQ 7.5 版和 WebSphere Application Server 7.0 版。

在尝试将 WAS 远程连接到队列管理器时,记录了以下错误消息。

来自 WebSphere MQ 的错误消息:

2013 年 1 月 30 日 21:12:09 - 进程 (3624.6) 用户 (MUSR_MQADMIN) 程序(amqrmppa.exe) 主机(KHILT-269) 安装(Installation1) VRMF(7.5.0.0) QMgr(QM.TEST) AMQ9504:检测到通道“TEST_CHANNEL”的协议错误。解释:在与 远程队列管理器,通道程序检测到协议错误。 故障类型为 11,相关数据为 0。操作:联系 系统管理员应检查错误日志以确定 失败的原因。

WebSphere Application Server 的错误消息:

以下情况无法与 WebSphere MQ 建立连接 原因:CC=2;RC=2009

从日志中可以看出,我将队列管理器创建为 QM.TEST,将通道创建为 TEST_CHANNEL。为队列管理器定义的监听端口是 1417 以及 TCP 协议。

我做了很多谷歌,但没有找到任何合适的解决方案。感谢您在这方面的任何帮助。

感谢您的建议,KAmeer

【问题讨论】:

    标签: ibm-mq websphere-7


    【解决方案1】:

    与 IBM 一起打开 PMR,因为这听起来像是一个错误。

    【讨论】:

    • 但同时我可以从同一个 WAS 远程连接到另一个队列管理器。所以我不认为这是一个错误,我的队列管理器的配置存在一些问题。
    【解决方案2】:

    我有一个类似的问题,我有 WAS 7 和 WMQ 7.5。我能够连接到我现有的 WMQ 7.0 QM,但不能连接到我的新 WMQ 7.5 QM。显然,在初始版本 7.0.0.0 之后,与 WAS 7 捆绑的 WMQ 组件发生了变化。更新资源适配器后,我能够成功连接到两个队列管理器。

    【讨论】:

    • 我遇到了完全相同的问题,请问您是如何更新资源适配器的?
    【解决方案3】:

    原因是 mq 7 客户端无法与 mq 7.5 通信,客户端需要使用 mq 7.5 jar 文件

    【讨论】:

      【解决方案4】:

      队列管理器在收到来自客户端的意外 TSH 流时会生成协议错误并立即终止连接。结果,客户端收到 2009 错误。从技术上讲,低级别 MQ 客户端将能够与更高版本的 MQ 队列管理器通信,反之亦然,除非存在已知限制和/或存在 MQ 缺陷/APAR。错误消息表明队列管理器在 MQ 7500 上运行,这是 MQ 基本 7.5 版本。建议将队列管理器升级到可用的最新修订包以排除任何已知问题。您也可以尝试在 SVRCONN(即将 SHARECNV 设置为 0)通道上禁用共享转换,并检查它是否可以解决问题,直到问题得到解决。

      【讨论】:

        【解决方案5】:

        我遇到了这个问题。在我的情况下,mq 库正在使用无限循环执行 MQGET,因此当我调用 kill 并生成事件并尝试在 get 仍在运行时断开连接时,lib 被锁定在 mqget 上。由于 mqget 不支持通过信号解锁,我不得不更改代码以在 get 时不保持无限,并在 kill 命令上添加一些标志,以便应用程序可以检测到是时候死了,当它从 get 返回时。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-15
          相关资源
          最近更新 更多