2017-09-06 186 views
0

我有兩個Linux服務器,一個與MQ服務器8.0.0.6版本,另一個安裝在MQ客戶端8.0.0.4。部署在客戶端(在WebSphere Application)的應用程序是無法連接到MQ服務器,它給了我一個錯誤,指出:無法從MQ客戶端連接到MQ QMGR(客戶端模式)

JMSWMQ0018: Failed to connect to queue manager 'AEDMQ03A' with connection mode 'Client' and host name 'hostname(1414)' 

我隊列管理AEDMQ03A運行MQ服務器的驗證, AEDMQ03A偵聽端口1414上運行,我也可以建立從客戶機到服務器通過telnet MQhost(在MQSERVER)的連接1414

我查QMGR AEDMQ03A渠道與:

DISPLAY CHANNEL(AEDMQ03A,*) ALL 

但我沒有找到任何渠道m AEDMQ03A到MQ客戶端主機。我知道,創建頻道的命令是:

DEFINE CHANNEL(JAVA.CHANNEL) CHLTYPE(SVRCONN) TRPTYPE(TCP) 

在它會像DEFINE CHANNEL(AEDMQ03A.X) CHLTYPE(Y) TRPTYPE(TCP)這種特殊情況下,但我不太清楚什麼對X變量類型,因爲在MQ客戶端不存在qmgrs創建。如果我想要從MQ客戶端連接到MQServer,我不知道應該使用哪種通道類型。


我創建了一個本地隊列(QUEUE_TEST),以測試從MQ客戶端到qmanager AEDMQ03A的MQ服務器的連接。我做了以下內容:

1)啓動AEDMQ03A隊列管理器,也取得了一定的監聽器啓動過

2)使用以下命令創建的SVRCONN通道:

DEFINE CHANNEL(A03ZCIWAS) CHLTYPE(SVRCONN) TRPTYPE(TCP) 

在客戶端:

set the MQSERVER=A03ZCIWAS/TCP/'ip_adress_MQServer(1414)' 

,然後當我與./amqsputc QUEUE_TEST AEDMQ03A嘗試它給我的錯誤:

MQCONNX ended with reason code 2035 

我知道這個錯誤是權限的問題,我試着用setmqaut -m AEDMQ03A -t qmgr -g mqm +alladm +set解決它,但它仍然給了我同樣的錯誤。

+0

你在客戶端指定什麼渠道。通道在SVRCONN類型的隊列管理器上定義。在客戶端上指定連接時要使用的頻道名稱。在某些情況下,您可以使用客戶端通道定義表(CCDT),該表是一個二進制文件,其中包含引用爲CLNTCONN通道的內容,但不需要在隊列管理器上創建它們。 – JoshMc

+0

如果您想查看哪些頻道正在運行,您可以使用類似「DIS CHS(*)」的命令。 – JoshMc

+0

在隊列管理器上檢查'/ var/mqm/qmgrs/AEDMQ03A/errors/AMQERR01.LOG'下的日誌,看看在客戶端嘗試連接時是否收到錯誤。它可能是「找不到頻道」或類似的東西。 – JoshMc

回答

0

你需要創建一個類型的頻道SVRCONN

的runmqsc>DEFINE CHANNEL(AEDMQ03A.SVRCONN)CHLTYPE(SVRCONN)TRPTYPE(TCP)

以及用於測試目的[ONLY]嘗試禁用安全性 - 如果你沒有做過 '的setmqaut' 的客戶端用戶已經

的runmqsc>SET CHLAUTH( 'AEDMQ03A.SVRCONN')TYPE(BLOCKUSER)USERLIST( '沒人')

的runmqsc>ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO。IDPWOS)AUTHTYPE(IDPWOS)CHCKCLNT(NONE)

的runmqsc>REFRESH SECURITY(*)

的runmqsc>

嘗試連接和共享的細節。

+0

我用svrconn定義了一個通道,但是我也爲clntconn定義了一個通道。那是對的嗎? – user3105533

+0

您不需要客戶端連接通道進行連接。檢查答案在這裏:https://stackoverflow.com/questions/11304163/when-to-use-client-connection-channel-in-mq –

+0

此外,你已經提到,你正試圖連接websphere應用程序到MQ,在在這種情況下,您應該使用QCF連接到包含所有連接詳細信息的MQ。 關於安全性,我完全同意@JoshMc即使在測試環境中也不應禁用安全性,因爲PROD設置是從您的測試環境派生的。 –