Author |
Message
|
venkat kurra |
Posted: Mon Jun 12, 2006 7:27 am Post subject: Save the Message ID for the reply flow |
|
|
 Master
Joined: 18 Oct 2001 Posts: 245 Location: Bloomington , IL
|
We have a request and response flow between WPS and Database server . We need to save the message id from the request message(from WPS), then the message goes to database application, at the time of response we need to assign that saved message-id to the response flow.
Can i do like this?
Request Compute :
SET OutputRoot.MQMD.MsgIdTemp = InputRoot.MQMD.MsgId;
Response compute :
SET OutputRoot.MQMD.CorrelId = InputRoot.MQMD.MsgIdTemp;
I saw MQGet plugin node but client needs this prototype immidiately. _________________ Thanks,
Venkat Kurra
IBM Certified Specialist-MQSeries
IBM Websphere MQSeries Administrator
IBM WebSphere Message Broker System Admin |
|
Back to top |
|
 |
EddieA |
Posted: Mon Jun 12, 2006 9:53 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
SET OutputRoot.MQMD.MsgIdTemp = InputRoot.MQMD.MsgId; |
There is no field in the MQMD called MsgIdTemp.
You have to store the value in a DB, or use some form of Caching.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
venkat kurra |
Posted: Mon Jun 12, 2006 12:07 pm Post subject: |
|
|
 Master
Joined: 18 Oct 2001 Posts: 245 Location: Bloomington , IL
|
We are at WMB V6 . Can i try MQGet like this..
InPutNode-->Compute-->MQOutput-->MQGET-->Compute-->MQOutput
MQOutput sends the message to database app and respond back to MQ Get input queue.
I want to see the same messge ID before and after the MQGet.
Just i selected "Use complete MQMD" from the "Request"option. But i am getting different message ids. _________________ Thanks,
Venkat Kurra
IBM Certified Specialist-MQSeries
IBM Websphere MQSeries Administrator
IBM WebSphere Message Broker System Admin |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 12, 2006 7:25 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Using V6 we put that information into the Environment.
On aggregation we put it into a message payload, send it to a dummy provider and parse it back in the aggregation part.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
elvis_gn |
Posted: Mon Jun 12, 2006 7:58 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi venkat kurra,
venkat kurra wrote: |
InPutNode-->Compute-->MQOutput-->MQGET-->Compute-->MQOutput
|
This seems alright, and as fjb_saper said, you could store the id in the environment...MQ Get parameter
But do u realize that if you connect the MQOutput to MQGet then you will be making it one flow...hence until u get the reply(or the MQGet fails) and send the response the flow will be unable to service any more requests....
Therefore you would rather want to have a disconnected Request Reply where u can keep sending as many requests as u want...and get the reply whenever they come...and as far as the id is concerned...you can save it in the correlId in MQMD and ask the WPS to send it back OR make ur own MQRFH2 header with this id detail.
Regards. |
|
Back to top |
|
 |
JT |
Posted: Tue Jun 13, 2006 7:55 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Venkat,
I couldn't tell from your post, are neither the correlId and msgId preserved upon return from the DB application, or is it just the msgId? |
|
Back to top |
|
 |
venkat kurra |
Posted: Tue Jun 13, 2006 9:54 am Post subject: |
|
|
 Master
Joined: 18 Oct 2001 Posts: 245 Location: Bloomington , IL
|
JT,
Database application area genarating new Correlation ID and Messae ID. Instead of changing an application we want to keep track of message id for WPS. WPS will process it's responce message only if we match the message id.
We are not using CorrelationID.
Above MQGet flow worked but we need to concern about Elvis comment (the flow will be unable to service any more requests.... )
We designed this as a temporary solution (pilot). _________________ Thanks,
Venkat Kurra
IBM Certified Specialist-MQSeries
IBM Websphere MQSeries Administrator
IBM WebSphere Message Broker System Admin |
|
Back to top |
|
 |
KBA |
Posted: Sun Jan 28, 2007 4:44 pm Post subject: |
|
|
Newbie
Joined: 29 Nov 2006 Posts: 7
|
I understand that, u need to store messageId before sending to HttpRequest , That message id need to assign to ur MQOut out.
Follow like this
U store ur MsgID to LocalEnvironment or Environment , before sending to ut MqOut u assisng that msgId whcih u store in en and set to ur MQMD
before sending to http request
SET Environement.Var.MsgId= InputRoot.MQMD.MsgID;
before MQOut node
SET OutpootRoot.MQMD.msgId=Environement.Var.MsgId; |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Jan 28, 2007 5:15 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
venkat kurra wrote: |
JT,
Database application area genarating new Correlation ID and Messae ID. Instead of changing an application we want to keep track of message id for WPS. WPS will process it's responce message only if we match the message id.
We are not using CorrelationID.
Above MQGet flow worked but we need to concern about Elvis comment (the flow will be unable to service any more requests.... )
We designed this as a temporary solution (pilot). |
Reread my post. Especially the point where I send a message to a dummy provider. The payload of this message is the MQMD of the original. The aggregation node recognizes this and puts it into the adequate folder.
This allows for the fan-in flow to extract (parse) the original MQMD and correlate it with the answers. It allows as well the aggregate fan in to find where to send the answer/reply to and with what id.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|