有没有办法在应用服务器不安装客户端的情况下连接到ibm mq服务器?

问题描述 投票:0回答:0

我正在开发一个 .net 核心应用程序来连接 ibm mq。 由于某些客户端限制,我们被限制安装 Ibm mq 客户端。 我正在使用 amqmdnetstd.dll(9.3.2.0) 进行连接。

请注意,ibm mq 服务器和应用程序在不同的系统中。

下面是我用于连接的代码片段:

    MQQueue objMQQueue;
    MQMessage objPutMQMessage;
    MQMessage objReadMQMessage;
    MQQueueManager objMQQueueManager;

    string SSLCipher = string.Empty;
    string SLLKey = string.Empty;
    string QueueManager = string.Empty;
    string QueueChannel = string.Empty;
    string ConnectionName = string.Empty;
    SSLCipher = ibmOptions.SSLCipher;
    SLLKey = ibmOptions.SLLKey;

    X509Certificate2 certificate = new X509Certificate2(SLLKey, ibmOptions.SLLKeyPassword);
    Hashtable properties = new Hashtable();
    properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
    properties.Add(MQC.SSL_CERT_STORE_PROPERTY, certificate);

    Console.WriteLine(DateTime.Now.ToLongTimeString() + " Certificate object  " +                                                        JsonConvert.SerializeObject(certificate));

    QueueManager = ibmOptions.QueueManager;
    QueueChannel = ibmOptions.QueueChannel;
    ConnectionName = ibmOptions.ConnectionName;
    MQEnvironment.SSLCipherSpec = SSLCipher;           //SSL Encryption Method

    MQEnvironment.properties.Add("KeyRepository", properties);

    objMQQueueManager = new MQQueueManager(QueueManager, QueueChannel, ConnectionName);


    objMQQueue = objMQQueueManager.AccessQueue("FTS.FCUBS.IN.UAT", MQC.MQOO_OUTPUT +   MQC.MQOO_FAIL_IF_QUIESCING);
    objPutMQMessage = new MQMessage();
    //UTF-8 character encoding
    objPutMQMessage.CharacterSet = 1208;
    objPutMQMessage.WriteString("Test data");
    objPutMQMessage.Format = MQC.MQFMT_STRING;
    objPutMQMessage.MessageType = MQC.MQMT_REQUEST;
    objPutMQMessage.Report = MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID;
    objPutMQMessage.ReplyToQueueName = "FTS.FCUBS.OUT.UAT";
    objMQQueue.Put(objPutMQMessage);
    objMQQueueManager.Commit();

    if (objMQQueue.OpenStatus)
    {
     objMQQueue.Close();
    }

我收到类似 dspmqver Command not found 的错误。我知道这个错误是由于应用程序服务器没有安装客户端库造成的。有没有不用安装客户端就可以解决的方法

.net websphere ibm-mq
© www.soinside.com 2019 - 2024. All rights reserved.