Author |
Message
|
phanish |
Posted: Mon Mar 03, 2014 7:01 am Post subject: Unable to receive response from MQ backend |
|
|
 Apprentice
Joined: 04 May 2013 Posts: 30
|
Hi,
I am seeing an issue while receiving the response from the MQ back-end.I am posting a request to a queue by setting the reply queue from DP and I am receiving the response with the same MsgID and Co-relID as the request.response is coming to the reply queue but DP is not able to process the response because requests' CorelID not equals to Responses' MessageID. I cant swap the MsgId and corelID of the response. Could you please help if there are any options to achieve this  |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Mar 03, 2014 7:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Remember you HAVE to commit the request before you can expect the response...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
phanish |
Posted: Mon Mar 03, 2014 7:27 am Post subject: |
|
|
 Apprentice
Joined: 04 May 2013 Posts: 30
|
I am able to post the request but I am not able to receive the response and the response messages are being piled up in the reply queue which I believe is due to MsgId and CorelID mismatch.I am using the below url to send my messages to the request queue.
Code: |
dpmq://Common_EAIFileServerQMG/?RequestQueue=PROSPECT.SBL.TO.SAP.REQ;ReplyQueue=QL.MD.PROSPECT.SAP.TO.SBL.RESP;TimeOut=60000;PMO=1152;GMO= 8197 |
|
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Mar 03, 2014 7:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
phanish wrote: |
I am able to post the request but I am not able to receive the response and the response messages are being piled up in the reply queue which I believe is due to MsgId and CorelID mismatch.I am using the below url to send my messages to the request queue.
Code: |
dpmq://Common_EAIFileServerQMG/?RequestQueue=PROSPECT.SBL.TO.SAP.REQ;ReplyQueue=QL.MD.PROSPECT.SAP.TO.SBL.RESP;TimeOut=60000;PMO=1152;GMO= 8197 |
|
If you expect the reply in the same transaction as the request, you will time out EVERY time. This may not be about a MsgId / CorelId mismatch, but about transactional boundaries and timing...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
phanish |
Posted: Mon Mar 03, 2014 8:04 am Post subject: |
|
|
 Apprentice
Joined: 04 May 2013 Posts: 30
|
yeah it's timing out but the response should be synchronous. can you please help me achieving this. Am I doing this right way |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Mar 03, 2014 8:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
phanish wrote: |
yeah it's timing out but the response should be synchronous. can you please help me achieving this. Am I doing this right way |
Do not confuse "quasi synchronous" with synchronous. MQ is an Asynchronous protocol... so your question is essentially:
How do I mix a synchronous process with an asynchronous process and still return the reply of the synchronous process in a timely manner...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
phanish |
Posted: Sun Mar 09, 2014 11:29 pm Post subject: |
|
|
 Apprentice
Joined: 04 May 2013 Posts: 30
|
Hi
I made this working by posting the request to backend Queue and populating the MessageID (harcoding) along with the other mqmd parameters.after the backend processing and getting the response to replyQueue,which had been set in the MQMD while sending to backend Q,I am making another url-open call to get the message from reply-queue that matches the messageID that I used in sending the reuquest. .Now the DP is able to receive the responses.
can you please let me know if anyother alternative ideas to achive this. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Mar 10, 2014 3:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Let WMQ handle message IDs etc... On the requester side (DP) you have to query the MQMD AFTER the put completed. This will give you the msgID to look for. Remember MsgID and CorrelID are an array of bytes and NOT a string...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|