【问题标题】:Unable to connect to IBM MQ from C# console application with credentials无法使用凭证从 C# 控制台应用程序连接到 IBM MQ
【发布时间】:2021-08-24 23:12:21
【问题描述】:

我无法使用凭据从 C# 控制台应用程序连接到 IBM MQ。这是代码。它抛出“2035 Not Authorized”错误。

protected MQQueueManager mqQueueManager;
public override void Open() {
Hashtable properties = new Hashtable();
properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
properties.Add(MQC.HOST_NAME_PROPERTY, mq_hostName);
properties.Add(MQC.CHANNEL_PROPERTY, mq_channel);
properties.Add(MQC.PORT_PROPERTY, mq_port);
properties.Add(MQC.USER_ID_PROPERTY, mq_userName);
properties.Add(MQC.PASSWORD_PROPERTY, mq_password);
properties.Add(MQC.USE_MQCSP_AUTHENTICATION_PROPERTY, true);

try
{
mqQueueManager = new MQQueueManager(mq_queueManagerName, properties);
Console.WriteLine("Connected to MQ");
}

catch (MQException e)
{
log.Fatal("MQ Queue Manager creation Error", e);
throw e;
}
}

我尝试过的:

如果我评论用户名和密码属性。它能够连接。不确定,为什么它不能使用凭据。请让我知道是否有人遇到过此问题以及解决此问题的任何指针。

【问题讨论】:

  • 请查看队列管理器错误日志,这将显示一个更具体的错误,表明 2035 错误的原因。 2035 年可能是由很多事情造成的。

标签: c# ibm-mq


【解决方案1】:

这是用户名的问题。我们正在将 Java 应用程序迁移到 .NET,用户名“@domain”在最后。看起来,这种格式是 Java 所必需的,并且在那里工作正常。当我们在 .NET 中使用相同的用户名时,它不起作用并抛出错误“2035 MQRC_NOT_AUTHORIZED”。一旦我们从中删除了@domain,它就开始工作了。

【讨论】:

    猜你喜欢
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2018-05-13
    • 1970-01-01
    相关资源
    最近更新 更多