ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » set Correlid not working[solved]

Post new topic  Reply to topic Goto page 1, 2  Next
 set Correlid not working[solved] « View previous topic :: View next topic » 
Author Message
mqseries123
PostPosted: Sun Apr 01, 2007 8:21 pm    Post subject: set Correlid not working[solved] Reply with quote

Apprentice

Joined: 04 Jan 2006
Posts: 26

Hi All,

I am trying to restore the MQMD header from Environment.Variables.MQMD subtree.
But, the CorrelId is getting reset to 00000000000000000000.

[SET OutputRoot.MQMD = Environment.Variables.MQMD;]

Searched the forum, but could not find the solution.
Please help.

Regards,


Last edited by mqseries123 on Mon Apr 02, 2007 6:58 pm; edited 1 time in total
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Sun Apr 01, 2007 8:35 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mqseries123,

How did you create the MQMD structure in the Environment in the first place ? Hope you used the DOMAIN clause...

Regards.
Back to top
View user's profile Send private message Send e-mail
mqseries123
PostPosted: Sun Apr 01, 2007 8:47 pm    Post subject: Reply with quote

Apprentice

Joined: 04 Jan 2006
Posts: 26

I am trying to implement the below message flow:

MQInput -> Compute1 -> HttpRequest -> Compute2 -> MQOutput

In Compute1 node:

SET Environment.Variables.MQMD = InputRoot.MQMD;

In Compute2 node:

SET OutputRoot.MQMD = Environment.Variables.MQMD;
SET OutputRoot.MQMD.CorrelId = OutputRoot.MQMD.MsgId.

But the CorrelId is getting reset to 0000000000000000.
Back to top
View user's profile Send private message
marcin.kasinski
PostPosted: Sun Apr 01, 2007 9:38 pm    Post subject: Reply with quote

Sentinel

Joined: 21 Dec 2004
Posts: 850
Location: Poland / Warsaw

Have you tried

Code:
SET OutputRoot.MQMD.CorrelId = InputRoot.MQMD.MsgId;


or

Code:
SET OutputRoot.MQMD.CorrelId = Environment.Variables.MQMD.MsgId;



You can use trace node to debug it.
_________________
Marcin
Back to top
View user's profile Send private message Visit poster's website
mqseries123
PostPosted: Sun Apr 01, 2007 10:15 pm    Post subject: Reply with quote

Apprentice

Joined: 04 Jan 2006
Posts: 26

I did try to set the CorrelId as specified below:
SET OutputRoot.MQMD.CorrelId = Environment.Variables.MQMD.MsgId;

The correlId is populated in the OutputRoot.MQMD.CorrelId as seen in the debugger. But once it leaves the compute node the correlId is again getting set to 00000000000000000000.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Sun Apr 01, 2007 10:29 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi mqseries123,

See if this works...
Code:
CREATE LASTCHILD OF Environment.Variables DOMAIN 'MQMD' NAME 'MQMD';
SET Environment.Variables.MQMD = InputRoot.MQMD;

Regards.
Back to top
View user's profile Send private message Send e-mail
mqseries123
PostPosted: Sun Apr 01, 2007 11:22 pm    Post subject: Reply with quote

Apprentice

Joined: 04 Jan 2006
Posts: 26

elvis_gn wrote:
Hi mqseries123,

See if this works...
Code:
CREATE LASTCHILD OF Environment.Variables DOMAIN 'MQMD' NAME 'MQMD';
SET Environment.Variables.MQMD = InputRoot.MQMD;

Regards.


Hi Elvis,

Implemented the way you suggested.CorrelId still not getting poulated.

Regards
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Apr 02, 2007 12:35 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Are you specifying an option somewhere, like on the MQOutput node, to overwrite or generate a new correlID?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mqseries123
PostPosted: Mon Apr 02, 2007 1:45 am    Post subject: Reply with quote

Apprentice

Joined: 04 Jan 2006
Posts: 26

I am not specifying any option in MQOutput node.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Mon Apr 02, 2007 2:26 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi,

jefflowrey wrote:
Are you specifying an option somewhere, like on the MQOutput node, to overwrite or generate a new correlID?
He lost the Id after the compute itself it seems, so can't be the Output node right ?

mqseries123: Can you paste the entire code (if not too large) and also a broker trace.

Regards.
Back to top
View user's profile Send private message Send e-mail
fjb_saper
PostPosted: Mon Apr 02, 2007 2:48 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

elvis_gn wrote:
Hi,

jefflowrey wrote:
Are you specifying an option somewhere, like on the MQOutput node, to overwrite or generate a new correlID?
He lost the Id after the compute itself it seems, so can't be the Output node right ?

mqseries123: Can you paste the entire code (if not too large) and also a broker trace.

Regards.


On the MQOutput node check the property "Pass All". I think you might have "Default" checked

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
madi
PostPosted: Mon Apr 02, 2007 12:07 pm    Post subject: Reply with quote

Chevalier

Joined: 17 Jan 2006
Posts: 475

i had this problem before

talked to ibm and got a work around from them

use the OutputRoot.Properties.ReplyIdentifier instead of CorrelId

they are the same thing but if u set this, then correlId will also get populated with the same value

good luck

madi
Back to top
View user's profile Send private message
dsriksha
PostPosted: Mon Apr 02, 2007 12:22 pm    Post subject: Reply with quote

Voyager

Joined: 27 Feb 2005
Posts: 95

mqseries123 wrote:

SET OutputRoot.MQMD = Environment.Variables.MQMD;
SET OutputRoot.MQMD.CorrelId = OutputRoot.MQMD.MsgId.

But the CorrelId is getting reset to 0000000000000000.
Back to top
View user's profile Send private message Send e-mail
madi
PostPosted: Mon Apr 02, 2007 12:29 pm    Post subject: Reply with quote

Chevalier

Joined: 17 Jan 2006
Posts: 475

dont know what u implied but that post but

i was suggesting something like

Code:
SET OutputRoot.MQMD = Environment.Variables.MQMD;
SET OutputRoot.Properties.ReplyIdentifier = OutputRoot.MQMD.MsgId.



--madi
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Mon Apr 02, 2007 6:10 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi dsriksha,
dsriksha wrote:
mqseries123 wrote:

SET OutputRoot.MQMD = Environment.Variables.MQMD;
SET OutputRoot.MQMD.CorrelId = OutputRoot.MQMD.MsgId.

But the CorrelId is getting reset to 0000000000000000.

He corrected that mistake of his...

mqseries123 wrote:
I did try to set the CorrelId as specified below:
SET OutputRoot.MQMD.CorrelId = Environment.Variables.MQMD.MsgId;

The correlId is populated in the OutputRoot.MQMD.CorrelId as seen in the debugger. But once it leaves the compute node the correlId is again getting set to 00000000000000000000.

Regards.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » set Correlid not working[solved]
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.