Posted: Thu Aug 04, 2011 12:44 pm Post subject: Odd mcd/Msd folder in WMB V6.1.0.9
Master
Joined: 03 Nov 2004 Posts: 211
Hello, before I open a PMR with IBM on this I thought I'd post here to see if I am doing something wrong. I'm playing with subscribing to WMB configuration change events.
Notice the <mcd><Msd>xmls</Msd></mcd>. In my V7 WMB test bed this shows as <mcd><Msd>xmlnsc</Msd></mcd>. This is where I developed the message flow and as a result I coded the ESQL to be (InputRoot.XMLNSC.---) So when this runs in V6.1.0.9 it fails since the logical tree is now (InputRoot.XMLS.---)
Also, the <mcd><Msd> for messages that get published to the queue associated with the $SYS/Broker/+/Status/ExecutionGroup/#
subscription have the Msd set as xml i.e. <mcd><Msd>xml</Msd></mcd>. Which again is odd imo.
So I have a few questions. Is the setting of mcd/Msd by WMB here a bug? Is there a way to turn the creation of the mcd/Msd off via a sub option perhaps? Is there a way I force the message flow consuming these messages to ignore the mcd/Msd and use the parser I specify on the MQInput node to parse the data following the RFH?
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
Two points
1) You can easily test (in ESQL) for the broker version you are running on. Look at the bit of the infocentre that deals with things like BrokerName etc.
Then you can code a reference to use .XMLNS or .XMLNSC as appropriate
2) Instead of using InputRoot.XMLNSC or InputRoot.XMLNS how about using InputBody?
The problem you are seeing is not that difficult to overcome with a little thought.
Finally
Quote:
So I have a few questions. Is the setting of mcd/Msd by WMB here a bug? Is there a way to turn the creation of the mcd/Msd off via a sub option perhaps? Is there a way I force the message flow consuming these messages to ignore the mcd/Msd and use the parser I specify on the MQInput node to parse the data following the RFH?
Simply no there is not. The data in the mcf folder will always override the setting in the InputNode.
This allows you to define the exact message defs (MessageSet etc) in the message payload.
Personally, I don't like it due to the fact that you can cause a flow to barf by specifying a MessageSet that does not exist. As with almost everything, there are good and bad points about doing most things. I raised this point here some 5+ years ago. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Ok, using InputBody won't work in this example since I'm accessing attributes and how those are referenced in the ESQL is domain dependent (which I think is odd).
What I decided to do is simply preprocess the publication in a compute node to remove the RFH and just pass the body through. I then use a RCD to set the domain to XMLNSC and then process the message.
In any case I still think the Mcd of xmls is a bug. Has anyone ever seen any doc on a WMB xmls domain/parser? Only ones I know of are xml, xmlns and xmlnsc - but no xmls.
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