1

XMSAPIを使用してWebsphereMQに接続し、次のコードを使用して正常に接続できます。

    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エクスプローラーを使用して接続し、XMSではなくメッセージを公開できます。

さらに、このユーザーアカウントでプログラムをデバッグすると接続できることがわかりました。そのため、あるユーザーとして実行したり、別のユーザーとして認証したりできないようです。これはXMSの場合ですか?そして、これを回避する方法はありますか?

4

1 に答える 1

3

XMSは、キュー・マネージャーでの認証に常にログオンしたユーザーIDを使用します。動作はWebSphereMQCクライアントに似ています。代替案の詳細については、インフォセンターのこのページを参照してください。

于 2011-09-08T05:29:15.427 に答える