Невозможно подключиться к Websphere MQ Manager с помощью XMS

Этот код воспроизводит проблему:

#include <iostream>
#include <xms.hpp>

int main()
{
    try
    {
        xms::ConnectionFactory factory;

        factory.setIntProperty(XMSC_CONNECTION_TYPE,      XMSC_CT_WMQ);
        factory.setIntProperty(XMSC_WMQ_CONNECTION_MODE,  XMSC_WMQ_CM_CLIENT);
        factory.setStringProperty(XMSC_WMQ_QUEUE_MANAGER, "my.queue.manager");
        factory.setStringProperty(XMSC_WMQ_HOST_NAME,     "my.dev.mq");
        factory.setStringProperty(XMSC_WMQ_CHANNEL,       "my.channel");
        factory.setIntProperty(XMSC_WMQ_PORT,              1414);

         std::cout << "Is Factory Null? => " << factory.isNull() << std::endl;
         xms::Connection conn = factory.createConnection(); //THIS THROWS EXCEPTION
         std::cout << "Is Factory Null? => " << factory.isNull() << std::endl;
    }
    catch(xms::Exception const & e)
    {
         e.dump(std::cout);
    }
}

Выдает исключение, выводит следующее сообщение:

Is Factory Null? => 0
Exception:
ErrorData =
ErrorCode = 26 (XMS_E_CONNECT_FAILED)
JMS Type  = 1 (XMS_X_GENERAL_EXCEPTION)
Linked Exception:
ErrorData = libmqic_r.so
ErrorCode = 0 (XMS_E_NONE)
JMS Type  = 1 (XMS_X_GENERAL_EXCEPTION)

Есть идеи, что не так с кодом?

Обратите внимание, что devpmmq это просто псевдоним фактического IP-адреса (хоста). Если я добавлю какое-либо случайное / бессмысленное значение для него, я получу ту же ошибку, которая является плохой, потому что API должен был дать лучшее сообщение об ошибке, такое как "host not found" или что-то одно в этой строке. Есть ли способ включить более подробную диагностику?

1 ответ

Решение

XMS C/C++ внутренне загружает клиентские библиотеки WebSphere MQ. Проблема в том, что XMS не может найти клиентскую библиотеку WebSphere MQ libmqm_r.so,

Что меня озадачивает то, что код установил XMSC_WMQ_CONNECTION_MODE как XMSC_WMQ_CM_CLIENT но XMS пытается загрузить libmqm_r.so, Он должен был попытаться загрузить libmqic_r.so,

Вы установили клиент WebSphere MQ? Также, какую версию XMSClients можно скачать здесь.

Другие вопросы по тегам