【问题标题】:MQRC_HOST_NOT_AVAILABLE when connecting to MQ Queue Manager连接到 MQ 队列管理器时的 MQRC_HOST_NOT_AVAILABLE
【发布时间】:2018-04-30 01:57:41
【问题描述】:

我在连接到 IBMMQ 时收到此错误消息 MQRC_HOST_NOT_AVAILABLE。

我对使用 IBMMQ 比较陌生,但是已经接到了这个项目,需要让我们的 .NET WCF 代码与 MQ 对话。

我们的代码目前如下所示:

Hashtable queueManagerProps = new Hashtable();
queueManagerProps.Add(MQC.HOST_NAME_PROPERTY, mqhost);
queueManagerProps.Add(MQC.CHANNEL_PROPERTY, mqchannel);
queueManagerProps.Add(MQC.PORT_PROPERTY, ConfigurationManager.AppSettings["MQPort"].ToString());
queueManagerProps.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
try
{
    mqQMgr = new MQQueueManager(qmname, queueManagerProps);
}
catch (Exception ex)
{
    throw new Exception(String.Format("Failed to connect to MQ Queue Manager {0}, channel {1} on host {2} on port {3}. Check inner exception for root cause.", qmname, mqchannel, mqhost, ConfigurationManager.AppSettings["MQPort"].ToString()), ex);
}

我已经确认 (1) 所有属性都包含值,并且 (2) 这些值与我们的 MQ 服务器的设置相匹配。

我还查看了 AMKERR01.LOG 日志文件,自本月早些时候设置队列以来没有任何条目。

为什么我的新 MQQueueManager() 调用抛出这个异常?有没有可能是权限问题,或者肯定是网络/连接/配置相关?

【问题讨论】:

  • 你的 dll 来自哪个版本的 mq?
  • 根据 MQ Explorer 中的属性快速查看,我们的版本为“09000000”,amqmdnet.dll 的版本为“9.0.0.0”,日期为 18/05/2016。
  • 您是否在客户端或队列管理器上检查了 AMKERR01?为什么不使用 9.0.0.3?
  • 问题已解决。主机名拼写错误。傻我。

标签: c# websphere ibm-mq


【解决方案1】:

发现问题。我的主机名拼错了。

这个故事的寓意是不要忽视基本原理,即使在使用您不了解的技术时也是如此。

管理员:如果您觉得这个问题没有用,请随时删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-27
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2017-02-17
    • 2017-03-31
    相关资源
    最近更新 更多