|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Setting Request Identifier. |
« View previous topic :: View next topic » |
Author |
Message
|
sorn73 |
Posted: Fri Apr 16, 2004 1:56 am Post subject: Setting Request Identifier. |
|
|
Novice
Joined: 24 Mar 2004 Posts: 24 Location: Sweden
|
I'm having an odd problem with setting the Request Identifier that is used in the HTTP Reply node. I'm using WMQI 5.0 CSD 02.
In the documentation it says that the HTTP Request identfier is stored in LocalEnvironment.Destination.HTTP.RequestIdentifer by the HTTP Input node. When I access it in a computenode, I access InputLocalEnvironment.Destination.HTTP.RequestIdentifer .
In this case, the HTTP Reply node is in a second MessageFlow. So, I have stored the RequestIdentifier in the first flow, and in the second flow I need to restore it. However, when I try to set OutputLocalEnvironment.Destination.HTTP.RequestIdentifer, as in the "HTTP Technology for Web Services" document, I get an error from the HTTP Reply node, that the context is missing. If I debug this, I see that LocalEnvironment is empty after the Compute node. It works if I set it in InputLocalEnvironment.Destination.HTTP.RequestIdentifer . This seems wrong to me, could someone explain to me what I'm doing wrong?
Also, currently I'm "storing" the RequestIdentifier as the MessageId in the outgoing MQ message. Since this is an MQ Request/Response, the MessageId is coming back as CorrelationId, which is supported by the client side. This way I don't have to maintain a database of the MessageIds/RequestIds. The RequestId is defined as 24 bytes, as is the MessageId. Any comments on this "technique"? Any obvious pitfalls that I am missing? |
|
Back to top |
|
 |
aq |
Posted: Fri Apr 16, 2004 5:47 am Post subject: |
|
|
Apprentice
Joined: 20 Dec 2001 Posts: 47
|
Hi
Was the error about context something like "Message does not contain valid HTTP context information
" ? Because we had also similar error some time ago, and reason was misspelling the 'RequestIdentifer' word in ESQL where 'i' character was missing. It was quite frustrating to find it out
-- This doesn't work
SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifer = InputRoot.MQMD.CorrelId;
-- This works
SET OutputLocalEnvironment.Destination.HTTP.RequestIdentifier = InputRoot.MQMD.CorrelId;
We are also passing the HTTP RequestIdentifier as MQ MsgId (and in reply as CorrelId) and would like to hear if there is some shortcomings of this kind technique (or better alternatives) ? |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Apr 16, 2004 5:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
sorn73 wrote: |
If I debug this, I see that LocalEnvironment is empty after the Compute node. |
Your Compute node is not setup to pass the LocalEnvironment and Message, it is only setup to pass the Message. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
sorn73 |
Posted: Fri Apr 16, 2004 5:57 am Post subject: |
|
|
Novice
Joined: 24 Mar 2004 Posts: 24 Location: Sweden
|
Thankyou jefflowrey! I had completely missed that. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|