2015-07-22 473 views
0

我想在Windows服务中实现MQ侦听器,并且我已经使用MQ Explorer安装中的dotnet文件夹中提供的xms mq consumer示例。我正在使用MQ WebSphere 7.1IBM.XMS MQ侦听器错误2063或如何创建没有凭据的连接

如果我在控制台中运行他们的示例解决方案,一切正常。

然而,在我的窗口服务失败与MQ原因代码:2063

我使用这些设置为我厂

cf.SetStringProperty(XMSC.WMQ_HOST_NAME, _queueHost); 
cf.SetIntProperty(XMSC.WMQ_PORT, Convert.ToInt32(_queuePort)); 
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN"); 
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED); 
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, _queueChannel); 
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, 0); 

,然后此行似乎没有

IConnection connection = cf.CreateConnection(null,null); 

我不想提供任何用户凭证,这是可能的吗?

我试着改变CONNECTION_MODE绑定并获取不同的错误。

示例代码仅工作,因为我正在运行它,因此默认使用本地凭据?否则,我在两个使用相同的配置。

回答

1

MQ XMS客户端正在将登录用户传播到队列管理器,然后QM检查其权限记录以确定该用户是否可以连接以及它可以访问哪些对象。

您可以设置权限记录以允许当前用于运行该服务的用户,也可以设置Windows服务上的登录用户以匹配队列管理器的允许用户,或设置MCAUSER属性服务器连接通道,用于连接到队列管理器,如果使用客户端连接。

在服务器连接通道上设置MCAUSER将允许任何可以连接到该通道的人冒充设置的用户,因此应该谨慎使用,可能需要设置适当的通道验证记录。

参考文献:

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.msc.doc/xms_rtrouble_tips.html

https://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.sec.doc/q010530_.htm

+0

感谢的是,我已经忘了补充一点,这是一个本地服务器,并引起各种各样的问题,因为我做了你已经暗示了什么。现在每个工作都正常,我卸载它并按照这里的说明 - > http://www.jamestheintegrationguy.com/setting-up-a-development-websphere-mq-server/ – kouri