Author |
Message
|
Nizam |
Posted: Thu Jun 17, 2004 8:01 pm Post subject: Request Reply CorrelId MQ - CICS Bridge |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
Hi All,
I have a request reply situation where I send my messages to a MQ - CICS Bridge queue.
The bridge requires that I set the MsgId to NONE and CorrelId to NEW_SESSION.
In this situation I loose my original original MsgId and CorrelId and I would not know which is the reply for my request message.
I came up with three options.
1. Use Aggregate control, request and reply...I never used the Aggregate nodes and I am not sure If this is relevant in my case.
2. Copy the original MsgId in some MQMD filed such as Application Token if MQ allows me to do that.
3. Pass the MsgId with the message in the COM AREA.........but I am not allowed to touch the copybooks.
Kindly suggest me something for my situation.
Thanks |
|
Back to top |
|
 |
kirani |
Posted: Thu Jun 17, 2004 10:28 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Nizam wrote: |
1. Use Aggregate control, request and reply...I never used the Aggregate nodes and I am not sure If this is relevant in my case.
|
Why do you need Agreegate Control node? Do you have to send multiple request messages to backend and agreegate the replies? If not, then don't use this. Agreegate nodes are costly in terms of performance.
Nizam wrote: |
2. Copy the original MsgId in some MQMD filed such as Application Token if MQ allows me to do that.
|
Where will you store the CorrelId then? Try adding MQRFH2 header to your message and ask the backend application to preserve it. If they cannot then
Nizam wrote: |
3. Pass the MsgId with the message in the COM AREA.........but I am not allowed to touch the copybooks.
|
Sorry, I am not familiar with CICS (or M/F). _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
JT |
Posted: Fri Jun 18, 2004 5:38 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Nizam,
Take a look at setting Root.Properties.ReplyIdentifier to match the original MsgId and see if the value is returned. I remembered doing something similar last year with MQ/IMS bridge messages. |
|
Back to top |
|
 |
fjcarretero |
Posted: Fri Jun 18, 2004 6:29 am Post subject: |
|
|
Voyager
Joined: 13 Oct 2003 Posts: 88
|
Nizam,
Take a look at this documentation:
Quote: |
For an MQQueue.put() call, this specifies the message identifier to use. If MQC.MQMI_NONE is specified,the queue manager generates a unique message identifier when the message is put. The value of this member variable is updated after the put to indicate the message identifier that was used |
Cheers
Felipe |
|
Back to top |
|
 |
EddieA |
Posted: Fri Jun 18, 2004 9:08 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
You could always store the original values in a DB, using the generated message ID of the outgoing message as the key. The CICS bridge will preserve the Message ID that MQ generates due to the MQMI_NONE you use, so you can get the values back when the response returns.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
kirani |
Posted: Fri Jun 18, 2004 10:52 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Please note that Properties folder is specific to WMQI. It'll not be available once your message is out of Broker's processing scope.
If I remember correctly, Root.Properties.ReplyIdentifier has to do something with Agreegate nodes. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
|