1

我一直在使用 XMS API 连接到 Websphere MQ 并使用以下代码可以正常连接:

    private IConnection CreateWqmConnection() 
    {
        // Create the connection factories factory using WMQ (websphere message queue)
        XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);

        // Use the connection factories factory to create a connection factory
        IConnectionFactory cf = factoryFactory.CreateConnectionFactory();

        // Set the properties

        cf.SetStringProperty(XMSC.USERID, @"user");
        cf.SetStringProperty(XMSC.PASSWORD, @"password");

        cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, MessageQueueManager);
        cf.SetStringProperty(XMSC.WMQ_HOST_NAME, MessageQueueHost);
        cf.SetIntProperty(XMSC.WMQ_PORT, MessageQueuePort);
        cf.SetStringProperty(XMSC.WMQ_CHANNEL, MessageQueueChannel);
        cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
        cf.SetStringProperty(XMSC.CLIENT_ID, UniqueClientId);

        return cf.CreateConnection();            
    }

但是,如果我尝试将用户名和密码更改为我当前登录的用户以外的任何人,因为我收到 2035 安全错误。我已登录主机并将用户添加到 mqm 组,我可以使用 WMQ Explorer 从本地计算机使用此用户进行连接并发布消息,但不能使用 XMS。

此外,我发现如果我在这个用户帐户下调试程序,我可以连接,所以看起来我不能作为一个用户运行并作为另一个用户进行身份验证。XMS 是这种情况吗?有没有办法解决这个问题?

4

1 回答 1

3

XMS 始终使用已登录的用户标识向队列管理器进行身份验证。该行为类似于 WebSphere MQ C 客户端。有关替代方案的更多详细信息,请参阅信息中心中的此页面。

于 2011-09-08T05:29:15.427 回答