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 » MQMD Header issue after a compute node

Post new topic  Reply to topic
 MQMD Header issue after a compute node « View previous topic :: View next topic » 
Author Message
nelson
PostPosted: Sun Feb 01, 2015 12:19 pm    Post subject: MQMD Header issue after a compute node Reply with quote

Partisan

Joined: 02 Oct 2012
Posts: 313

Hi All,

I'm not able to set manually the CorrelId within a compute node. In the debugging the property seems be set OK, just befere the RETURN statement (within ESQL breakpoint):

Code:
MQMD   
   SourceQueue   YYY   
   Transactional   true   
   Encoding   546   
   CodedCharSetId   1208   
   Format   MQSTR      
   Version   2   
   Report   0   
   MsgType   8   
   Expiry   -1   
   Feedback   0   
   Priority   0   
   Persistence   0   
   MsgId   414d5120514d42524b39202020202020cd3ace5420074202   
   CorrelId   414d5120514d42524b39202020202020cd3ace5420074202   
   BackoutCount   0   
   ReplyToQ   
   ReplyToQMgr   QMBRK9                                             
   UserIdentifier   brkadm         
   AccountingToken   160105150000000fe4bbe04591cc5ccffb1170fb03000000000000000000000b   
   ApplIdentityData   
   PutApplType   11   
   PutApplName   Sphere MQ\\bin\\MQExplorer.exe   
   PutDate   2015-02-01   
   PutTime   19:51:13.020   
   ApplOriginData   
   GroupId   000000000000000000000000000000000000000000000000   
   MsgSeqNumber   1   
   Offset   0   
   MsgFlags   0   
   OriginalLength   -1   


But, in the next breakpoint (just after the compute node) the value is unset!:

Code:
MQMD   
   SourceQueue   YYY
   Transactional   false   
   Encoding   546   
   CodedCharSetId   850   
   Format   MQSTR      
   Version   2   
   Report   0   
   MsgType   8   
   Expiry   -1   
   Feedback   0   
   Priority   0   
   Persistence   0   
   MsgId   414d5120514d42524b39202020202020cd3ace5420074202   
   CorrelId   000000000000000000000000000000000000000000000000   
   BackoutCount   0   
   ReplyToQ   
   ReplyToQMgr   QMBRK9                                             
   UserIdentifier   brkadm         
   AccountingToken   160105150000000fe4bbe04591cc5ccffb1170fb03000000000000000000000b   
   ApplIdentityData   
   PutApplType   11   
   PutApplName   Sphere MQ\\bin\\MQExplorer.exe   
   PutDate   2015-02-01   
   PutTime   19:51:13.003   
   ApplOriginData   
   GroupId   000000000000000000000000000000000000000000000000   
   MsgSeqNumber   1   
   Offset   0   
   MsgFlags   0   
   OriginalLength   -1   


It's very weird, because just before the compute node the MQMD is not present. I'm just retrieving it from the Environment:

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


I just wanted to avoid the use of a MQHeader (which works fine, using the Environment.Variables.MQMD.MsgId value) node and add this step to the compute node.

This is very strange.... Any idea on this behavior?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Feb 01, 2015 4:02 pm    Post subject: Reply with quote

Grand High Poobah

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

You parked it under Environment.MQMD... Did you also assign it an MQMD parser?

What is the type of Environment.MQMD.MsgId? BLOB or CHARACTER?

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
nelson
PostPosted: Sun Feb 01, 2015 7:18 pm    Post subject: Reply with quote

Partisan

Joined: 02 Oct 2012
Posts: 313

fjb_saper wrote:
You parked it under Environment.MQMD... Did you also assign it an MQMD parser?


I don´t remember it being necessary to assing of a parser to store the MQMD. isn't it done automatically? as when we assign the complete body to a variable, or the complete root.

fjb_saper wrote:
What is the type of Environment.MQMD.MsgId? BLOB or CHARACTER?


Just did this:

Code:
SET Environment.Variables.MQMD = InputRoot.MQMD;
Back to top
View user's profile Send private message
Simbu
PostPosted: Sun Feb 01, 2015 10:44 pm    Post subject: Reply with quote

Master

Joined: 17 Jun 2011
Posts: 289
Location: Tamil Nadu, India

Hi nelson, What is you flow design?. The issue might be due to the below reason.
Quote:
When the message flow is sourced from an input node that is not the MQInput node (such as the HTTPInput node or a user-defined input node), no MQMD is parsed. In this scenario, the Properties folder is not sourced from an input MQMD; it is created and populated with transport values that come from other transport specific headers. When you create an MQMD folder in a message flow that was not sourced from the WebSphere MQ transport, the MQMD header does not take precedence over the Properties folder because the WebSphere MQ transport did not populate the Properties folder. Therefore, in this case, the Properties folder overwrites any values in MQMD
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 02, 2015 5:13 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

nelson wrote:
I don´t remember it being necessary to assing of a parser to store the MQMD. isn't it done automatically?


No it isn't, and it is necessary.

nelson wrote:
as when we assign the complete body to a variable, or the complete root.


There are specific rules for when a parser gets assigned. A lot of people are fooled because they see it "working" when they assign an XML document to Environment, and see it assigned back, but then find that all the attributes and non-character data wasn't preserved because the XMLNSC parser wasn't assigned.

Clearly it can be a while before this becomes apparent if your XML documents are all character data with no attributes.

nelson wrote:
fjb_saper wrote:
What is the type of Environment.MQMD.MsgId? BLOB or CHARACTER?


Just did this:

Code:
SET Environment.Variables.MQMD = InputRoot.MQMD;
[/quote]

Try assigning an MQMD parser and see if that helps.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » MQMD Header issue after a compute node
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.