1

なりすましに問題があると思いますが、間違っている可能性があります。

キューからデータを消費する IBM XMS コンシューマーがあります。正常に動作します。キューへのアクセスを許可するには、サービスを特定のユーザーとして実行する必要があります。このために、.Net 偽装を実装しました。キューを実行できるすべてのシステムで、再起動が必要なときに問題が発生します。

再起動をテストするために、キャンセル、切断、再接続をトリガーする単純なif(messages == 500) throw...を配置しました。

アプリケーションを Windows サービスとしてローカル マシンにインストールすると、(偽装を使用して) 接続し、500 に到達し、スロー、切断、再接続し、メッセージの処理を続けます。ただし、サーバーで同じコードを実行すると、キュー接続を作成しようとして失敗します。エラーは次のとおりです。

7765 [20] ERROR SIS (null) - Websphere MQ に接続できません
System.Diagnostics.ProcessManager.OpenProcess (Int32 プロセス ID、Int32 アクセス、ブール値 throwIfExited) で System.Diagnostics.NtProcessManager.GetModuleInfos (Int32 プロセス ID、ブール値の firstModuleOnly) で System.Diagnostics.ProcessManager.GetModuleInfos (Int32 プロセス ID)
で System.Diagnostics. IBM.WMQ.CommonServices.TraceEnvironment() の Process.get_Modules() 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) で) Spin.TradingServices.DataAcquisition.Domain.DataProcessing.SIS で。

リンクされた例外: System.ComponentModel.Win32Exception (0x80004005): System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) でアクセスが拒否されました System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) at 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) で

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 に答える