IBM MQ 2059 (MQRC_Q_MGR_NOT_AVAILABLE) Ошибка в .NET с использованием XMS с настройкой SSL на основе сертификацииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 IBM MQ 2059 (MQRC_Q_MGR_NOT_AVAILABLE) Ошибка в .NET с использованием XMS с настройкой SSL на основе сертификации

Сообщение Anonymous »

Я пытаюсь подключиться к клиенту IBM MQ Queue Queue -Manager из приложения .NET, использующего IBM.XMS (xms.net), а не SSL. < /p>
Я поместил сертификат клиента (.crt) в доверенные корневые власти в составе сертификатов Windows. MQRC_Q_MGR_NOT_AVAILABLE
Пример кода: < /p>
using IBM.XMS;
using System;

class Program
{
static void Main()
{
try
{
Console.WriteLine("Setting environment variable MQSSLKEYR...");
// Environment.SetEnvironmentVariable("MQSSLKEYR", @"C:\Users\ShivamK\Desktop\Dev\AA_Certificates\dev\dev\keystore"); // Without extension

Console.WriteLine("Creating XMS Factory...");
XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IConnectionFactory connectionFactory = factoryFactory.CreateConnectionFactory();

// Connection properties
connectionFactory.SetStringProperty(XMSC.WMQ_HOST_NAME, "xxx.xx.com");
connectionFactory.SetIntProperty(XMSC.WMQ_PORT, 1444);
connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, "ABCD.01");
connectionFactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "EMMMQQ");

// SSL
connectionFactory.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "TLS_RSA_WITH_AES_128_CBC_SHA256");

// Auth
connectionFactory.SetStringProperty(XMSC.USERID, "S10147878");
connectionFactory.SetStringProperty(XMSC.PASSWORD, "B7hkhkjk");

Console.WriteLine("Creating Connection...");
using IConnection connection = connectionFactory.CreateConnection();
using ISession session = connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);

IDestination destination = session.CreateQueue("queue:///CGOOPSHDLG.XYZ.OPSDATA.01");
using IMessageConsumer consumer = session.CreateConsumer(destination);

connection.Start();
Console.WriteLine("Waiting for a message...");

IMessage message = consumer.Receive(10000); // wait for 10s
if (message is ITextMessage textMessage)
Console.WriteLine($"Received message: {textMessage.Text}");
else
Console.WriteLine("No message received or message not text.");

connection.Stop();
}
catch (XMSException ex)
{
Console.WriteLine("XMS Exception: " + ex.Message);
if (ex.LinkedException != null)
Console.WriteLine("Linked Exception: " + ex.LinkedException.Message);
}
catch (Exception ex)
{
Console.WriteLine("General Exception: " + ex.Message);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... ertificate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»