Author |
Message
|
Le_Quang_Hoa |
Posted: Mon May 16, 2005 6:12 pm Post subject: Can not receive report message and start trigger! |
|
|
 Apprentice
Joined: 14 May 2005 Posts: 29 Location: Viet nam
|
Dear all experts
I am a newbee on WMQ
I installed two MQ server version 5.3 fixed pack 9 , one on window 2000 server sp3 , one on Window 2003
On win 2003
Queue Manager name : QM1
Dead Letter queue :q_dead_letter
Remote Quee q_remote
( type= remote definition, remote queue=q_receiver; remote manager=MQ2; transmission queue = q_transmission)
Report Q : q_report
Transmission queu: q_transmission
Channel : QM1.TO.QM2 Sender
On win 2000
Queue Manager name : QM2
Dead Letter queue :q_dead_letter
Remote Quee q_receiver
Channel QM1.TO.QM2 Receiver
On VB net code to put a message
msgObj = New MQMessage
msgObj.Format = MQC.MQFMT_STRING
msgObj.WriteString("Hello world")
msgObj.ReplyToQueueManagerName = "QM1"
msgObj.ReplyToQueueName = "q_report"
msgObj.PutApplicationName = "MQHandler"
msgObj.MessageType = MQC.MQMT_DATAGRAM
msgObj.MessageType = MQC.MQMT_DATAGRAM
msgObj.Report = MQC.MQRO_EXCEPTION Or MQC.MQRO_EXCEPTION_WITH_FULL_DATA Or MQC.MQRO_COA
Then I put message noramlly form QM1
Message to q_receiver on MQ2 ok
but it is not send report message to q_report on QM1
it placed on q_dead_letter on QM2 :
dead letter header field
with reason 2087
destination queue q_report
destination queue manager QM1
...
Do you know why ??
What is my wrong
Thanks _________________ Le Quang Hoa (Mr)
Email :hoa.lequang@gmail.com
YM: hoalq98
Ha noi City - Viet Nam |
|
Back to top |
|
 |
kevinf2349 |
Posted: Tue May 17, 2005 5:03 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Based on the definitions you have posted it has no way of getting the report message back to originating qmgr. |
|
Back to top |
|
 |
Le_Quang_Hoa |
Posted: Tue May 17, 2005 6:08 am Post subject: |
|
|
 Apprentice
Joined: 14 May 2005 Posts: 29 Location: Viet nam
|
dear
But On QM1 I want to receive report message
How can I do _________________ Le Quang Hoa (Mr)
Email :hoa.lequang@gmail.com
YM: hoalq98
Ha noi City - Viet Nam |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 17, 2005 6:22 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Le_Quang_Hoa wrote: |
dear
But On QM1 I want to receive report message
How can I do |
By enabling two way communications, as per the Intercommunications manual. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue May 17, 2005 1:26 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Le_Quang_Hoa,
MQ distributed channels are one way streets. You made a channel from QM1 to QM2, but there is no street to take your report message back home!
The manual Jeff pointed to is good reading..... _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Le_Quang_Hoa |
Posted: Tue May 17, 2005 5:40 pm Post subject: |
|
|
 Apprentice
Joined: 14 May 2005 Posts: 29 Location: Viet nam
|
You mean that I must establish a channel QM2.TO.QM1 sender - receiver
I think report message automatic send by Queue Management depend on
replyToQueue and replyToQueueManager
If I should establish a channel is that I only need replyToQueue field is remote queue on remote QueueManager .
there is replyToQueueManager use what for??
I don't understand clearly
Any one can help me!
[/i] _________________ Le Quang Hoa (Mr)
Email :hoa.lequang@gmail.com
YM: hoalq98
Ha noi City - Viet Nam |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue May 17, 2005 6:35 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Quote: |
You mean that I must establish a channel QM2.TO.QM1 sender - receiver
|
Yes. If you expect QM2 to send a report message back to QM1, you must provide a SNDR/RCVR channel from QM2 to QM1. Don't forget to create a transmitq on QM2 called 'QM1', that will feed this channel back to QM1.
Quote: |
I think report message automatic send by Queue Management depend on
replyToQueue and replyToQueueManager
|
Yes.
Quote: |
If I should establish a channel is that I only need replyToQueue field is remote queue on remote QueueManager .
there is replyToQueueManager use what for??
|
If QM1 sends a request message to QM2, the request messages should have replytoqueue filled in with the name of the reply to queue. Lets say that is a local queue called MyReplyToQueue. And where is that queue? Why, it is on QM1! So the ReplyToQueueManager field should be filled in with QM1.
Now because reply messages and report messages almost always come back to the original sending QM, MQ is nice enough to fill in the ReplyToQueueManager field for you. So if you send a request message from QM1 to QM2, and ask for a report, and fill in the ReplyToQueue field with MyReplyToQueue, the message will arrive at QM2 with MyReplyToQueue for the reply queue, and QM1 in the reply to QM field.
QM2 or an app running on QM2 knows to send the message to MyReplyToQueue on QM1. When that MQOPEN happens, QM2 says "Wait a minute, you are telling me to send the message to a QM called QM1. I am not QM1, let me see if there is a pth to something called QM1" At that point, it will find the QM1 XMITQ, and put the message there, and it gets shipped back to QM1.
You don't need to always create remote queue definitions. If there is an XMITQ named after the QM you want to go to, and your MQOPEN specifies both the destination q name AND the destination QM name, then the message will not waste time looking on the local QM, but will immediatly go to the other QM.
This is called Name Resolution.
You really shoud read the Intercommunication Manaul. I know its big, but if you understand it, you will understand how MQ works. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Le_Quang_Hoa |
Posted: Tue May 17, 2005 8:31 pm Post subject: |
|
|
 Apprentice
Joined: 14 May 2005 Posts: 29 Location: Viet nam
|
Thanks very much
Now I understand clearly _________________ Le Quang Hoa (Mr)
Email :hoa.lequang@gmail.com
YM: hoalq98
Ha noi City - Viet Nam |
|
Back to top |
|
 |
|