2010-11-28 75 views
0

我已經創建了一個簡單的WCF Web服務來將一些消息寫入MQ(Websphere MQ)。它託管在IIS 6.0服務器中。服務陳述成功,但在將消息寫入MQ時,它拋出了一個帶有原因碼2063的異常。需要有關與MQ交互的WCF Web服務的幫助

有什麼方法可以覆蓋Web服務的運行用戶(代碼中)嗎?

預先感謝您..

+0

默認情況下,Web服務正在託管AppPool(在IIS中配置)的帳戶下運行。 – 2010-11-28 17:09:09

+0

什麼是「原因碼2063」? – 2010-11-28 17:33:57

回答

1

的原因代碼2063 0x0000080f MQRC_SECURITY_ERROR是指外在的東西來WMQ。例如,如果應用程序無法訪問配置文件,密鑰庫密碼不正確或者QMgr或應用程序無法訪問域資源。

使用Windows服務器的管理員帳戶訪問WMQ時,該帳戶在本地主機上解析,並且WMQ不需要查詢該域。但是,當使用域帳戶訪問WMQ時,QMgr需要查詢域以獲取請求連接的帳戶所屬的組。出於這個原因,運行QMgr對於管理員來說看起來很健康,但從域帳戶訪問時失敗是很常見的。

測試此問題的一種方法是確保訪問使用本地帳戶解析。在這個例子中,我假設QMgr運行的是MUSR_MQADMIN - Windows的默認帳戶。我還會假設服務器名稱是bigserver。以下測試將問題隔離到QMgr或應用程序。

如果尚未這樣做,則使應用程序以客戶端模式連接。更改應用程序使用的客戶端頻道MCAUSER('[email protected]')(替換您自己的服務帳戶和服務器名稱)並嘗試重新連接。如果你得到另一個2063,那麼錯誤是在客戶端應用程序配置中。如果你連接了,那麼QMgr需要授予查詢域的權利。手冊中有一整段內容向域管理員解釋究竟需要什麼。如果這是問題,請指出您的域管理員here

請不要離開像這樣設置頻道。任何可以訪問它的人都是WMQ管理員!相反,一旦你得到它的工作,將應用程序的服務帳戶放在MCAUSER字段中,並使用setmqaut來適當授權它。