ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » MQSeries remote messages delivered to Dead Letter Queue

Post new topic  Reply to topic
 MQSeries remote messages delivered to Dead Letter Queue « View previous topic :: View next topic » 
Author Message
Vin
PostPosted: Wed Apr 10, 2002 2:39 pm    Post subject: Reply with quote

Master

Joined: 25 Mar 2002
Posts: 212
Location: India

I'm try to use dynamic queues remotely. I create a dynamic queue using qmgr.accessQueue(...) specifying a model queue. I put the queue name in the message and send it remotely to an other queue manager which extracts the name of the queue and puts the message and delivers back to the first queue manager. The problem is all the messages are landing in the dead letter queue on the recieving side. I looked at the hex dump and here it what it gives me. The Reason Code given is 2087 (Remote Queue Manager not available I guess?)
Here is how I access the queue in my sending queue manager.
//code
String replyToQueue = retrievedMessage.replyToQueueName;
int openQueueOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
String replyToQueueManagerName = retrievedMessage.replyToQueueManagerName;

MQQueue respQueue = qMgr.accessQueue(replyToQueue, openQueueOptions,"QM1.QUEUE.MANAGER",null,null);
System.out.println("Name of the response Queue is -----> "+respQueue.name);

MQMessage respMessage = new MQMessage();
respMessage.format = MQC.MQFMT_STRING;
respMessage.writeString("Reply from the responder program");
respQueue.put(respMessage,new MQPutMessageOptions());


44 4C 48 20 01 00 00 00 DLH ....
27 08 00 00 53 75 64 68 '...Sudh
69 72 33 43 42 34 42 32 ir3CB4B2
36 34 30 30 30 31 33 30 64000130
31 32 20 20 20 20 20 20 12
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 4D 45 54 52 METR
45 4F 2E 51 55 45 55 45 EO.QUEUE
2E 4D 41 4E 41 47 45 52 .MANAGER
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 11 01 00 00 ....
33 03 00 00 4D 51 53 54 3...MQST
52 20 20 20 0B 00 00 00 R ....
65 73 5C 4D 51 53 65 72 esMQSer
69 65 73 5C 62 69 6E 5C iesbin
72 75 6E 6D 71 6C 73 72 runmqlsr
2E 65 78 65 32 30 30 32 .exe2002
30 34 31 30 32 32 33 37 04102237
34 35 33 31 52 65 70 6C 4531Repl
79 20 66 72 6F 6D 20 74 y from t
68 65 20 72 65 73 70 6F he respo
6E 64 65 72 20 70 72 6F nder pro
67 72 61 6D gram

Any clue as to why me messages are being delivered to the dead letter queue on the recieving side? Thanks to all.
Back to top
View user's profile Send private message
Vin
PostPosted: Wed Apr 10, 2002 4:41 pm    Post subject: Reply with quote

Master

Joined: 25 Mar 2002
Posts: 212
Location: India

I suspect that when the message is arriving at the destination it comes with a queue manager name of QM1.QUEUE.MANAGER, I think this has to be lower case for it to find the Queue Manager on the local system. Is there a way I can change i t to lower case when I send the message? Thanks, just wanted to share my thoughts.
Back to top
View user's profile Send private message
Vin
PostPosted: Wed Apr 10, 2002 7:43 pm    Post subject: Reply with quote

Master

Joined: 25 Mar 2002
Posts: 212
Location: India

Guys,
Finally I figured out the problem. The QueueManager name was in upper case on the sending side in the transmission queue and hence was not able to find the queue manager on the recieving side. When we define the transmission queue the remote queue manager name should be enclosed in quotes ' ' so that it appears in lower case.
Back to top
View user's profile Send private message
StefanSievert
PostPosted: Wed Apr 10, 2002 8:10 pm    Post subject: Reply with quote

Partisan

Joined: 28 Oct 2001
Posts: 333
Location: San Francisco

Quote:

On 2002-04-10 20:43, Vin wrote:
Guys,
Finally I figured out the problem. The QueueManager name was in upper case on the sending side in the transmission queue and hence was not able to find the queue manager on the recieving side. When we define the transmission queue the remote queue manager name should be enclosed in quotes ' ' so that it appears in lower case.

Vin,
the queue manager that could not be found, was METREO.QUEUE.MANAGER according to your dead letter message and you probably were referring to the remote queue definition that contained the wrong name, not the transmission queue, right!?
(personal opinion) If you want to save yourself a lot of trouble, I would make it a naming standard to only use upper case names for MQ objects. (end personal opinion)
Cheers,
Stefan

_________________
Stefan Sievert
IBM Certified * WebSphere MQ
Back to top
View user's profile Send private message
Vin
PostPosted: Thu Apr 11, 2002 11:18 am    Post subject: Reply with quote

Master

Joined: 25 Mar 2002
Posts: 212
Location: India

Stefan,
Actually not. I did not change the name in the example code which i put in there. I did define the queue Managers allright but the transmission queue had the queue manager name in upper case and that's when the problem creeped in. I put a quote around and retried and it works fine. I think I should follow a standard of uppercase versus not upper case. Thanks for the suggestiom
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » MQSeries remote messages delivered to Dead Letter Queue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.