2015-07-22 470 views
0

我想在Windows服務中實現MQ偵聽器,並且我已經使用MQ Explorer安裝中的dotnet文件夾中提供的xms mq consumer示例。我正在使用MQ WebSphere 7.1IBM.XMS MQ偵聽器錯誤2063或如何創建沒有憑據的連接

如果我在控制檯中運行他們的示例解決方案,一切正常。

然而,在我的窗口服務失敗與MQ原因代碼:2063

我使用這些設置爲我廠

cf.SetStringProperty(XMSC.WMQ_HOST_NAME, _queueHost); 
cf.SetIntProperty(XMSC.WMQ_PORT, Convert.ToInt32(_queuePort)); 
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN"); 
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED); 
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, _queueChannel); 
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, 0); 

,然後此行似乎沒有

IConnection connection = cf.CreateConnection(null,null); 

我不想提供任何用戶憑證,這是可能的嗎?

我試着改變CONNECTION_MODE綁定並獲取不同的錯誤。

示例代碼僅工作,因爲我正在運行它,因此默認使用本地憑據?否則,我在兩個使用相同的配置。

回答

1

MQ XMS客戶端正在將登錄用戶傳播到隊列管理器,然後QM檢查其權限記錄以確定該用戶是否可以連接以及它可以訪問哪些對象。

您可以設置權限記錄以允許當前用於運行該服務的用戶,也可以設置Windows服務上的登錄用戶以匹配隊列管理器的允許用戶,或設置MCAUSER屬性服務器連接通道,用於連接到隊列管理器,如果使用客戶端連接。

在服務器連接通道上設置MCAUSER將允許任何可以連接到該通道的人冒充設置的用戶,因此應該謹慎使用,可能需要設置適當的通道驗證記錄。

參考文獻:

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.msc.doc/xms_rtrouble_tips.html

https://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.sec.doc/q010530_.htm

+0

感謝的是,我已經忘了補充一點,這是一個本地服務器,並引起各種各樣的問題,因爲我做了你已經暗示了什麼。現在每個工作都正常,我卸載它並按照這裏的說明 - > http://www.jamestheintegrationguy.com/setting-up-a-development-websphere-mq-server/ – kouri