| Author | Message | 
		
		  | mqseries123 | 
			  
				|  Posted: Sun Apr 01, 2007 8:21 pm    Post subject: set Correlid not working[solved] |   |  | 
		
		  | Apprentice
 
 
 Joined: 04 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Sun Apr 01, 2007 8:35 pm    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 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 |  | 
		
		  |  | 
		
		  | mqseries123 | 
			  
				|  Posted: Sun Apr 01, 2007 8:47 pm    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 04 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | marcin.kasinski | 
			  
				|  Posted: Sun Apr 01, 2007 9:38 pm    Post subject: |   |  | 
		
		  | Sentinel
 
 
 Joined: 21 Dec 2004Posts: 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 |  | 
		
		  |  | 
		
		  | mqseries123 | 
			  
				|  Posted: Sun Apr 01, 2007 10:15 pm    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 04 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Sun Apr 01, 2007 10:29 pm    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 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 |  | 
		
		  |  | 
		
		  | mqseries123 | 
			  
				|  Posted: Sun Apr 01, 2007 11:22 pm    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 04 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Mon Apr 02, 2007 12:35 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 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 |  | 
		
		  |  | 
		
		  | mqseries123 | 
			  
				|  Posted: Mon Apr 02, 2007 1:45 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 04 Jan 2006Posts: 26
 
 
 | 
			  
				| I am not specifying any option in MQOutput node. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Mon Apr 02, 2007 2:26 am    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 1905
 Location: Dubai
 
 | 
			  
				| Hi, 
 
 
  He lost the Id after the compute itself it seems, so can't be the Output node right ? 
	| jefflowrey wrote: |  
	| Are you specifying an option somewhere, like on the MQOutput node, to overwrite or generate a new correlID? |  
 mqseries123: Can you paste the entire code (if not too large) and also a broker trace.
 
 Regards.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | fjb_saper | 
			  
				|  Posted: Mon Apr 02, 2007 2:48 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 18 Nov 2003Posts: 20767
 Location: LI,NY
 
 | 
			  
				| 
   
	| elvis_gn wrote: |  
	| Hi, 
 
 
  He lost the Id after the compute itself it seems, so can't be the Output node right ? 
	| jefflowrey wrote: |  
	| Are you specifying an option somewhere, like on the MQOutput node, to overwrite or generate a new correlID? |  
 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 |  | 
		
		  |  | 
		
		  | madi | 
			  
				|  Posted: Mon Apr 02, 2007 12:07 pm    Post subject: |   |  | 
		
		  |  Chevalier
 
 
 Joined: 17 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | dsriksha | 
			  
				|  Posted: Mon Apr 02, 2007 12:22 pm    Post subject: |   |  | 
		
		  |  Voyager
 
 
 Joined: 27 Feb 2005Posts: 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 |  | 
		
		  |  | 
		
		  | madi | 
			  
				|  Posted: Mon Apr 02, 2007 12:29 pm    Post subject: |   |  | 
		
		  |  Chevalier
 
 
 Joined: 17 Jan 2006Posts: 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 |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Mon Apr 02, 2007 6:10 pm    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 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 |  | 
		
		  |  | 
		
		  |  |