我遇到我认为冒充的问题,但我可能会弄错。
我有一个IBM XMS使用者,正在使用队列中的数据。工作良好。为了被授予访问队列的权限,服务需要作为特定用户运行,为此我实现了.Net模拟。在所有系统上,我能够让队列运行,当需要重新启动时会出现问题。
为了测试重启,我放置了一个简单的 if(messages == 500)throw ... ,它会触发取消,断开连接和重新连接。
我将应用程序作为Windows服务安装到我的本地计算机,它连接(使用模拟),达到500,抛出,断开连接,重新连接并继续处理消息。但是,当我在服务器上运行相同的代码时,它在尝试创建队列连接时失败。这是错误:
7765 [20] ERROR SIS(null) - 无法连接到Websphere MQ IBM.XMS.XMSException:CWSMQ0006E:在此期间收到了异常 调用ConnectionFactory.CreateConnection方法: System.ComponentModel.Win32Exception(0x80004005):访问被拒绝
在System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32访问,布尔throwIfExited)at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
在System.Diagnostics.Process.get_Modules()处 IBM.WMQ.CommonServices.TraceEnvironment()at IBM.WMQ.CommonServices.CreateCommonServices()at IBM.WMQ.MQBase..ctor()上的IBM.WMQ.CommonServices.TraceEnabled()
在IBM.WMQ.Nmqi.Phconn..ctor(NmqiEnvironment env)at IBM.WMQ.Nmqi.NmqiEnvironment.NewPhconn()at IBM.XMS.Client.WMQ.WmqConnection..ctor(NmqiEnvironment nmqiEnv,NmqiMQ nmqiMQ,XmsPropertyContext connectProps)at IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateV7ProviderConnection(XmsPropertyContext connectionProps)。在执行指定的方法期间 异常是由另一个组件引发的。查看链接的异常 欲获得更多信息。在 IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateProviderConnection(XmsPropertyContext connectionProps)at IBM.XMS.Client.Impl.XmsConnectionFactoryImpl.CreateConnection(字符串 userID,String password)at IBM.XMS.Client.Impl.XmsConnectionFactoryImpl.CreateConnection()at Spin.TradingServices.DataAcquisition.Domain.DataProcessing.SIS.SISMQConnection.Connect(ImpersonationCredentials impersonationCredentials)链接异常:System.ComponentModel.Win32Exception(0x80004005): 访问被拒绝 System.Diagnostics.ProcessManager.OpenProcess(Int32 processId,Int32 access,Boolean throwIfExited)at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
在System.Diagnostics.Process.get_Modules()处 IBM.WMQ.CommonServices.TraceEnvironment()at IBM.WMQ.CommonServices.CreateCommonServices()at IBM.WMQ.MQBase..ctor()上的IBM.WMQ.CommonServices.TraceEnabled()
在IBM.WMQ.Nmqi.Phconn..ctor(NmqiEnvironment env)at IBM.WMQ.Nmqi.NmqiEnvironment.NewPhconn()at IBM.XMS.Client.WMQ.WmqConnection..ctor(NmqiEnvironment nmqiEnv,NmqiMQ nmqiMQ,XmsPropertyContext connectProps)at IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateV7ProviderConnection(XmsPropertyContext connectionProps)
答案 0 :(得分:3)
看起来被模拟的用户ID没有足够的权限而且XMS没有问题。
这是一个可能对您有帮助的链接。
Access is denied at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
和this也是。
答案 1 :(得分:0)
似乎在IBM站点上有一个可用于此错误的修复程序:
http://www-01.ibm.com/support/docview.wss?uid=swg1IC90674
(如果网址不再可用,请使用Wayback Machine https://archive.org/web/)
他们还说有一个本地修复:
授予“查询流程信息和读取流程虚拟化” 内存“模仿用户的权限,以便OpenProcess 成功。