Author |
Message
|
mbcoder |
Posted: Tue Jul 07, 2009 11:20 pm Post subject: Storing Reply Identifier in queue |
|
|
Novice
Joined: 30 Jun 2009 Posts: 10
|
Hi
I have to save Reply Identifier in a queue and retrieve it using MQGet node and use it before SOAPReply node.
I tried to map SOAP Reply Identifier to CorrelId of the queue, but it is giving error as Reply Id is 8 bytes and CorrelId is 24 bytes.
Can anyone tell me where do I save this ReplyId to retrieve it later.
Thanks.. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Tue Jul 07, 2009 11:45 pm Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
In the message body?
In the MQRFH2.usr folder? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jul 07, 2009 11:46 pm Post subject: Re: Storing Reply Identifier in queue |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
mbcoder wrote: |
Hi
I have to save Reply Identifier in a queue and retrieve it using MQGet node and use it before SOAPReply node.
I tried to map SOAP Reply Identifier to CorrelId of the queue, but it is giving error as Reply Id is 8 bytes and CorrelId is 24 bytes.
Can anyone tell me where do I save this ReplyId to retrieve it later.
Thanks.. |
You could use the Reply Id as correlId if you pad it with either hex 00 or hex 20 (ascii space).
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mbcoder |
Posted: Tue Jul 07, 2009 11:51 pm Post subject: |
|
|
Novice
Joined: 30 Jun 2009 Posts: 10
|
In Message Body, we dont have any field to use it to save ReplyId. Can I store this in MQRFH2.usr? Can you tell me how to achieve this, it would be helpful. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Tue Jul 07, 2009 11:54 pm Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
mbcoder wrote: |
Can I store this in MQRFH2.usr? Can you tell me how to achieve this, it would be helpful. |
If you tell me what you searched for before asking this elementary question. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 08, 2009 12:15 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And could you please explain why you have to persist the information?
Is the SOAP reply node in a different flow from the SOAPInput node?
What pattern are you using  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mbcoder |
Posted: Wed Jul 08, 2009 1:10 am Post subject: |
|
|
Novice
Joined: 30 Jun 2009 Posts: 10
|
Flow will receive SOAP message, transform SOAP message to MRM put it in a queue. Another flow wil receive MRM response in MQInput put by Mainframe, using MQGet to match the correlid, transform back MRM to SOAP.
These two flows are in single.msgflow. When the mainframe system is putting response message in MQInput, LocalEnvironment details are not getting passed with SOAP Reply Identifier.
If I save replyid in queue in the first flow, then I can retrieve it in the second flow while sending to SOAPReply node. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 08, 2009 1:15 am Post subject: Re: Storing Reply Identifier in queue |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mbcoder wrote: |
Can anyone tell me where do I save this ReplyId to retrieve it later |
A database? The usr folder of an RFH2? The message body?
The possibilities are endless. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mbcoder |
Posted: Wed Jul 08, 2009 1:33 am Post subject: |
|
|
Novice
Joined: 30 Jun 2009 Posts: 10
|
I have no database option to use, I will try usr folder in RFH2. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 08, 2009 7:42 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Sounds easier to me if you did something like an aggregation flow.
You can then adequately match response to request.
When the fan-in is on a separate flow I usually pass the relevant data in an extra message to the aggregation...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Wed Jul 08, 2009 7:57 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
fjb_saper wrote: |
Sounds easier to me if you did something like an aggregation flow.
|
oh dear lord, the poster if struggling with setting an RFH2 field and you're suggesting aggregation? Are you a sucker for punishment? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 08, 2009 8:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
WMBDEV1 wrote: |
fjb_saper wrote: |
Sounds easier to me if you did something like an aggregation flow.
|
oh dear lord, the poster if struggling with setting an RFH2 field and you're suggesting aggregation? Are you a sucker for punishment? |
No but the RFH might not be advisable if the service being called is not RFH enabled (Mainframe cobol etc...)
The aggregation takes care of non JMS /XMS partners.
Alternatively you could also alter the message payload to carry that information...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Wed Jul 08, 2009 10:07 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
fjb_saper wrote: |
No but the RFH might not be advisable if the service being called is not RFH enabled (Mainframe cobol etc...)
|
The message that was storing the reply id was not being sent to a back end service but is stored in a q until the service replies so this shouldnt be an issue.
Anyway.... many ways to skin the same cat  |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jul 08, 2009 10:32 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
In general, the simplest solution is to pad the Reply ID to 24 bytes. |
|
Back to top |
|
 |
mbcoder |
Posted: Wed Jul 08, 2009 9:13 pm Post subject: |
|
|
Novice
Joined: 30 Jun 2009 Posts: 10
|
I have set replyid in RFH - usr and send to queue, but when the mainframe system put the response in queue, RFH headers disappeared.
Is there any performance issue, if I send replyid in the payload? Because for one request to mainframe system, MB will receive many/multiple records in the response, in that case sending id field in the payload for these many records is ok? |
|
Back to top |
|
 |
|