Sono nuovo in mqseries e ho iniziato con IBM WebSphere MQ curses. Esistono esempi con i gestori code MQ_APPLE
e MQ_ORANGE
. Non ho problemi con l'invio di messaggi alla coda locale o remota con MQ Explorer, ma volevo inviare questo messaggio dal codice: Python o Java. Ho provato Python Library pymqi con codice come questo:Come connettersi alla coda MQseries locale usando Python?
import pymqi
qmgr = pymqi.QueueManager(None)
qmgr.connect('QM_APPLE')
putq = pymqi.Queue(qmgr, 'Q1')
putq.put('Hello from Python!')
ma ricevo l'errore:
Traceback (most recent call last):
File "mq_put.py", line 4, in <module>
qmgr.connect('QM_APPLE')
File "c:\Python26\lib\site-packages\pymqi.py", line 758, in connect
raise MQMIError(rv[1], rv[2])
pymqi.MQMIError: MQI Error. Comp: 2, Reason 2540: FAILED: MQRC_UNKNOWN_CHANNEL_NAME
C'è QM_APPLE
gestore code con Q1
code locale.
Cosa c'è di sbagliato nel mio codice?
voglio usare coda locale. AFAIK non c'è un canale. Il canale appare sulla lezione sull'invio di un messaggio nella configurazione client-server (ho anche problemi con questa lezione). Ho completato la lezione sull'invio di messaggi utilizzando code locali e remote e volevo farlo dal codice. –
Come ha detto T.Rob, sembra che si stia utilizzando un modulo pymqi costruito in modalità client. Se si desidera utilizzare una connessione binding (gestore code locale, nessun canale) è necessario utilizzare un modulo pymqi integrato in modalità server. Controlla questo link: http://packages.python.org/pymqi/index.html#download-build-install Altrimenti, puoi sempre creare un canale sul gestore code locale e utilizzare il metodo connectTCPClient come sopra. – gregwhitaker
Ho creato un canale di tipo 'receiver', ma non riesco ad attivarlo. Che tipo di canale dovrei creare? –