|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Dynamic response using a Dynamic Queue |
« View previous topic :: View next topic » |
Author |
Message
|
Vin |
Posted: Mon Apr 08, 2002 5:53 pm Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I'm working on a request/reply type of application wherein a request is made to a remote queue manager (server to Server). I generate a dynamic queue using QueueManager.accessQueue(.....) function. I put this queue name in the request message and send it to the remote application. On the remote Queue Manager I defined a transmission channel named transmit2.queue. I extract the dynamic queue name from the request message and then try to access it using QueueManager.accessQueue(dynamicQueueName, QueueManagerName ......). This method throws a MQJE001: Completion Code 2, Reason 2087 exception. All I need to do is to post messages on this dynamic queue which is hosted by an other QueueManager. Does my transmission queue name has to be the same as the remote queue manager? What parameters whould I specify in my accessQueue() function of the QueueManager? Thank you all for your time. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue Apr 09, 2002 9:33 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
ON QM1, your app creates the dynamic queue (DYNQ). When putting the request, specify DYNQ in the reply to queue field, and leave the reply to queue mananger field blank (the QM will fill in its own name, QM1).
On QM2, you should have a transmit channel called QM1, pointing to a channel that goes to QM1. Your app on QM2 opens and puts a message to a queue called DYNQ. You also have to specify the queue manager on the open call as well, in this case QM1. Thru magical MQ queue name resolution, QM2 will realize that there is no local queue called DYNQ, but there is a transmit queue with the same name as the queue manager you specified on the open, and wa-laa, the message goes to QM1. Cool.
_________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Vin |
Posted: Wed Apr 10, 2002 10:01 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
Peter,
Thanks for the help, but I get the same error MQJE001: Completion Code 2, Reason 2087 when trying to access this dynamic queue on the other end. it throws me an exception in the following line
qMgr.accessQueue(replyToQueue,openQueueOptions,replyToQueueManagerName,null,null);
Where replyToQueue is the name of the dynamic queue and replyToQueueManagerName is the name of the remote queue manager. What I'm doing wrong?? This is quiet frustrating.
|
|
Back to top |
|
 |
Vin |
Posted: Wed Apr 10, 2002 10:32 am Post subject: |
|
|
Master
Joined: 25 Mar 2002 Posts: 212 Location: India
|
I did extract the replyQName and the replyToQmgrName from the request and thet seem to be fine, but when I'm trying to access the queue I get that error. I defined a transmission Queue with name QM1 and a channel corresponding to this transmission queue. I also started the channel manually and it's up and running fine. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Apr 10, 2002 8:13 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
When the exception is thrown, print out the replyToQueue and replyToQueueManagerName names. My guess is that they are not what you expect (my money is on an invalid queue manager name).
later
Roger...
|
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|