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の場合ですか?そして、これを回避する方法はありますか?