需要有关MQ交互的WCF Web服务的帮助

时间:2010-11-28 13:57:09

标签: c# .net wcf ibm-mq

我创建了一个简单的WCF Web服务,将一些消息写入MQ(Websphere MQ)。它托管在IIS 6.0服务器中。服务声明成功,但在将消息写入MQ时,它抛出了一个原因代码为2063的异常。

有没有办法覆盖Web服务的运行用户(代码中)?

提前谢谢..

1 个答案:

答案 0 :(得分:1)

原因代码2063 0x0000080f MQRC_SECURITY_ERROR是指WMQ外部的东西。例如,如果应用程序无法访问配置文件,则密钥库密码不正确或者QMgr或应用程序无法访问域资源。

使用Windows服务器的某个管理员帐户访问WMQ时,该帐户将在本地主机上解析,并且WMQ无需查询该域。但是,当使用域帐户访问WMQ时,QMgr必须查询域以获取请求连接的帐户所属的组。因此,运行QMgr对管理员来说很健康,但从域帐户访问时会失败。

测试这是否是问题的一种方法是确保访问使用本地帐户解决。在此示例中,我假设QMgr正在运行MUSR_MQADMIN - Windows的默认帐户。我还假设服务器名称为bigserver。以下测试将问题隔离到QMgr或应用程序。

如果尚未执行此操作,请使应用程序以客户端模式连接。使用MCAUSER('MUSR_MQADMIN@bigserver')更改应用程序使用的客户端通道(替换您自己的服务帐户和服务器名称)并尝试重新连接。如果你得到另一个2063,则错误在客户端应用程序配置中。如果连接,则QMgr需要授予查询域的权限。手册中有一整节说明了域管理员究竟需要什么。如果这是问题所在,请指向您的域管理员here

请不要将频道设置为这样。任何可以访问它的人都是WMQ管理员!相反,一旦你开始工作,将应用程序的服务帐户放在MCAUSER字段中,并使用setmqaut对其进行适当的授权。