1

我认为冒名顶替有问题,但我可能弄错了。

我有一个 IBM XMS 消费者,正在使用队列中的数据。工作正常。为了获得对队列的访问权限,服务需要以特定用户身份运行,为此我实现了 .Net 模拟。在我能够让队列运行的所有系统上,当需要重新启动时就会出现问题。

为了测试重启,我放置了一个简单的if(messages == 500) throw...触发取消、断开连接和重新连接。

我将该应用程序作为 Windows 服务安装到我的本地计算机上,它连接(使用模拟)、达到 500、抛出、断开连接、重新连接并继续处理消息。但是,当我在我们的服务器上运行相同的代码时,它在尝试创建队列连接时失败。这是错误:

7765 [20] 错误 SIS(空) - 无法连接到 Websphere MQ IBM.XMS.XMSException:CWSMQ0006E:在调用 ConnectionFactory.CreateConnection 方法期间收到异常:System.ComponentModel.Win32Exception(0x80004005):访问被拒绝
在 System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) 在 System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) 在 System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
在 System.Diagnostics。 Process.get_Modules() 在 IBM.WMQ.CommonServices.TraceEnvironment() 在 IBM.WMQ.CommonServices.CreateCommonServices() 在 IBM.WMQ.CommonServices.TraceEnabled() 在 IBM.WMQ.MQBase..ctor()
在 IBM.WMQ.Nmqi.Phconn..ctor(NmqiEnvironment env) 在 IBM.WMQ.Nmqi.NmqiEnvironment.NewPhconn() 在 IBM.XMS.Client.WMQ.WmqConnection..ctor(NmqiEnvironment nmqiEnv, NmqiMQ nmqiMQ, XmsPropertyContext connectProps)在 IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateV7ProviderConnection(XmsPropertyContext connectionProps)。在执行指定方法期间,另一个组件引发了异常。有关详细信息,请参阅链接的异常。在 IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateProviderConnection(XmsPropertyContext connectionProps) 在 IBM.XMS.Client.Impl.XmsConnectionFactoryImpl.CreateConnection(String userID, String password) 在 IBM.XMS.Client.Impl.XmsConnectionFactoryImpl.CreateConnection( ) 在 Spin.TradingServices.DataAcquisition.Domain.DataProcessing.SIS。

链接异常: System.ComponentModel.Win32Exception (0x80004005): 访问在 System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) 在 System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) 被拒绝.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
在 System.Diagnostics.Process.get_Modules() 在 IBM.WMQ.CommonServices.TraceEnvironment() 在 IBM.WMQ.CommonServices.CreateCommonServices() 在 IBM.WMQ.CommonServices.TraceEnabled()在 IBM.WMQ.MQBase..ctor()
在 IBM.WMQ.Nmqi.Phconn..ctor(NmqiEnvironment env) 在 IBM.WMQ.Nmqi.NmqiEnvironment.NewPhconn() 在 IBM.XMS.Client.WMQ.WmqConnection..ctor(NmqiEnvironment nmqiEnv, NmqiMQ nmqiMQ, XmsPropertyContext connectProps)在 IBM.XMS.Client.WMQ.Factories.WmqConnectionFactory.CreateV7ProviderConnection(XmsPropertyContext connectionProps)

4

2 回答 2

3

看起来被模拟的用户 ID 没有足够的权限并且 XMS 没有问题。

这是一个可能对您有帮助的链接。

在 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 拒绝访问

也是。

于 2012-12-21T08:22:25.017 回答
0

在 IBM 站点上似乎有针对此错误的修复程序:

http://www-01.ibm.com/support/docview.wss?uid=swg1IC90674

(如果 URL 不再可用,请使用 Wayback Machine https://archive.org/web/ )

他们还说有一个本地修复:

授予模拟用户“查询进程信息和读取进程虚拟内存”权限,以便 OpenProcess 成功。

于 2014-01-17T15:21:16.090 回答