Author |
Message
|
J.D |
Posted: Tue Mar 16, 2010 8:22 am Post subject: Message ID |
|
|
Voyager
Joined: 18 Dec 2009 Posts: 92 Location: United States
|
What charset is to be used to decode the messageId? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Mar 16, 2010 8:27 am Post subject: Re: Message ID |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
J.D wrote: |
What charset is to be used to decode the messageId? |
None. It's not a string it's a byte array. It's only value is to distinguish one message from another.
Any information you might think you could get from it can be obtained by other means. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
J.D |
Posted: Tue Mar 16, 2010 8:50 am Post subject: |
|
|
Voyager
Joined: 18 Dec 2009 Posts: 92 Location: United States
|
It's a request/response scenario, receiving app is not putting the msg id in response msg and app folks tried using UTF-8, UTF-15 and ISO-** but nothing is working. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Mar 16, 2010 9:06 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
J.D wrote: |
It's a request/response scenario, receiving app is not putting the msg id in response msg and app folks tried using UTF-8, UTF-15 and ISO-** but nothing is working. |
All they should be doing is copying the msg id from the request into the response by doing a memcpy or similar. Ideally copying it into the correl id rather than the message id _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Wed Mar 17, 2010 2:37 pm Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Quote: |
Ideally copying it into the correl id rather than the message id |
Agree !
As its already being said that every message has a unique message id to distinguish it from other messages.
While sending the message to target end the correl id would be 0 and while reply the value of the correl.id would be the message id of the input message that went to the target end. Message ids would be unique for all the messages ! _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
J.D |
Posted: Wed Mar 17, 2010 4:31 pm Post subject: |
|
|
Voyager
Joined: 18 Dec 2009 Posts: 92 Location: United States
|
I agree with you guys. Receiving app should read the message id from the request message and put that id in correl id in response message. But here the receiving client is reading the correl id in req msg which is weird and since correl id will have zero or null in req msg, the response msg is coming with null in correl id. App folks are in touch with vendor to fix this issue. |
|
Back to top |
|
 |
harish_td |
Posted: Wed Mar 17, 2010 6:52 pm Post subject: |
|
|
Master
Joined: 13 Feb 2006 Posts: 236
|
I once recall working with such an application, which was reading the CorrelId.
We could not get this app changed as it was a "Vendor-Developed" code and the target app did not have the source code.
So as an interim solution, we modified the sending app to get the QM to generate a MsgId for each generated message. This value is assigned to the Correlation ID and then sent to the target application. Thus MsgId = Uniquely Generated by the QM = CorrelId
The target application retains this correlation ID for the reply that it generates.
One important thing to note here is that the sending and receiving queues must always be different. Lest your source app consume its own request.
Fast but Dirty. Try it at your own risk. |
|
Back to top |
|
 |
mvic |
Posted: Thu Mar 18, 2010 2:24 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
J.D wrote: |
I agree with you guys. Receiving app should read the message id from the request message and put that id in correl id in response message. But here the receiving client is reading the correl id in req msg which is weird and since correl id will have zero or null in req msg, the response msg is coming with null in correl id. App folks are in touch with vendor to fix this issue. |
It's possible to get MQ to generate a unique CorrelId in the request message. You have to ask for that in the requester app though. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Mar 18, 2010 4:38 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
WMQ designed the msgid and correlid fields to be used in the request-reply model. WMQ doesn't enforce how applications use these fields.
Applications can request new and unique msgid and correlid quite easily with MQPMO_NEW_MSGID and MQPMO_NEW_CORRELID, or the equivalents in Java, .NET, etc.
I'm surprised that your developers got it wrong, as the request-reply model is well-documented in the WMQ Application Programming Ref. and WMQ Application Programming Guide.
...not all that surprised, actually. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Mar 18, 2010 9:06 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
J.D wrote: |
I agree with you guys. Receiving app should read the message id from the request message and put that id in correl id in response message. But here the receiving client is reading the correl id in req msg which is weird and since correl id will have zero or null in req msg, the response msg is coming with null in correl id. App folks are in touch with vendor to fix this issue. |
Make first sure that the issue is not with your app folks.
- base mq: flag the message as a request
- base mq: set the message flags to copy messageId to correlationId
- base mq: request a new correlId on put and set the message flags to copy correlId to correlId.
- JMS requester side: I usually just set the JMSReplyTo Destination.
- JMS server side: check if correlid initial and copy accordingly from either messageid or correlation id to correlation id. Alternatively you can try and read the corresponding message flags and operate as directed.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|