Java WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2058' ('MQRC_Q_MGR_NAME_ERROR')

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22089973/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 13:32:59  来源:igfitidea点击:

WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2058' ('MQRC_Q_MGR_NAME_ERROR')

javajmsibm-mq

提问by saurabh goyal

I am on websphere v7.0 and websphere mq 6. while trying to connect to queue manager through websphere console i am getting compcode '2' ('MQCC_FAILED') reason '2058' error.The queue manager with the same is available on the mq server with the server channel defined.

我使用的是 websphere v7.0 和 websphere mq 6。在尝试通过 websphere 控制台连接到队列管理器时,我收到了 compcode '2' ('MQCC_FAILED') 原因 '2058' 错误。具有相同功能的队列管理器可在已定义服务器通道的 mq 服务器。

Any help much Appreciated.

非常感谢任何帮助。

采纳答案by Umapathy

MQRC_Q_MGR_NAME_ERROR (2058) is a generic error (This has been improved in the latest version of wmq). There could be a problem with the host name or its resolution, the port or even the channel name or qmgr name. Look closely for errors. Is there anything reported in /var/mqm/errors on the websphere 7 server?

MQRC_Q_MGR_NAME_ERROR (2058) 是一个通用错误(这在 wmq 的最新版本中得到了改进)。主机名或其解析、端口甚至通道名称或 qmgr 名称可能存在问题。仔细查看错误。websphere 7 服务器上的 /var/mqm/errors 中是否有任何报告?

回答by Morag Hughson

If you are making use of a Client Channel Definition Table (CCDT) then this can imply that the queue manager name you used on MQCONN in your application, has not been found as QMNAME on any CLNTCONN channel in your CCDT. This can sometimes just mean that the CCDT has not been found at all.

如果您正在使用客户端通道定义表 (CCDT),那么这可能意味着您在应用程序中的 MQCONN 上使用的队列管理器名称在您的 CCDT 中的任何 CLNTCONN 通道上都没有被发现为 QMNAME。这有时可能只是意味着根本没有找到 CCDT。

Of course, sometimes this all just means that you meant to set MQSERVER to something and your forgot, so then the MQ Client goes looking for a CCDT instead and doesn't find one of those either.

当然,有时这一切只是意味着您打算将 MQSERVER 设置为某些东西而您忘记了,因此 MQ 客户端会转而寻找 CCDT,但也找不到其中之一。

回答by Vikky

I received the same error. Couple of things to try based on my debugging session.

我收到了同样的错误。根据我的调试会话尝试一些事情。

  1. Check QueueManager name. Note that it is case-sensitive. I had it in lower case in my python script. As soon as I put QueueManager name in capital letters. It worked.
  2. Check if Queue host name is mentioned correctly. Queue manager name and Queue host name are different.
  3. Check if you are able to telnet host on the port you are trying to access queue.
  4. Restart Queue Manager.
  5. Restart app server from where you are trying to connect.
  6. Check if connection channel is mentioned correctly.
  7. Check if queue name or queue Alias name are mentioned correctly.
  1. 检查队列管理器名称。请注意,它区分大小写。我在我的 python 脚本中有小写。只要我把 QueueManager 的名字用大写字母。有效。
  2. 检查队列主机名是否正确提及。队列管理器名称和队列主机名不同。
  3. 检查您是否能够在您尝试访问队列的端口上 telnet 主机。
  4. 重新启动队列管理器。
  5. 从您尝试连接的位置重新启动应用服务器。
  6. 检查连接通道是否正确提及。
  7. 检查队列名称或队列别名是否正确提及。