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 » Big MRM to XML

Post new topic  Reply to topic
 Big MRM to XML « View previous topic :: View next topic » 
Author Message
WBI_user
PostPosted: Mon Oct 29, 2001 10:13 pm    Post subject: Reply with quote

Partisan

Joined: 07 Aug 2001
Posts: 386

I have a big MRM output with a few hundred fields which I need to convert to XML. I just feed the out terminal of the compute node which poroduce this big MRM message to the input of a second compute node ans perform a tree copy with :

SET "OutputRoot".Properties.MessageFormat = 'XML' ;

I got a big XML message as the output with this one statement.
The output big XML is like:
<?xml version="1.0"?>
<MRM xmlns="www.mrmnames.net/DMPRK8G082001">
<MSG1>
<ST_DATA_2>ABCDE</ST_DATA_2>
<ST_DATA_1>1234567890</ST_DATA_1>
:
:
</MSG1>
</MRM>

But my customer wants me to select only 20 field out of the big XML and change this name of the tags. So I feed the output terminal of this 2nd compoute node which produce the big XML to the input terminal of a 3rd compute node and use the statement:

SET OutputRoot.XML.NEWTAG.DATA1=InputRoot.MRM.MSG1.ST_DATA_2;

However this result in an error saying the unexpected NULL is detected. In the trace
it shows failed to nevigate to path
InputRoot.MRM.MSG1.ST_DATA_2

I am a little confused. Does it mean that
SET "OutputRoot".Properties.MessageFormat = 'XML' will not build a message tree which can be passed to the next node ?

If that is the case, is there a way to avoid building MRM to XML ESQL for the several hundred field of my big MRM ?

Or is there a utility to help me to do that ?
Back to top
View user's profile Send private message
bh
PostPosted: Mon Oct 29, 2001 11:54 pm    Post subject: Reply with quote

Acolyte

Joined: 25 Jun 2001
Posts: 61

Have you define your second message format in the MRM or do you want to use the generic XML parser ? Because, if it's the case, I think you'll have to had a RCD node (or had eSQL sentences in a compute node. From my point of view, in your node, you are still using a descriptin tree based on the MRM. Try using a trace node and see what's inside...
Back to top
View user's profile Send private message
WBI_user
PostPosted: Tue Oct 30, 2001 7:59 pm    Post subject: Reply with quote

Partisan

Joined: 07 Aug 2001
Posts: 386

I specified MRM on the input side of the compute node only, nothing on the output side. and just use copy entire message and
SET "OutputRoot".Properties.MessageFormat = 'XML' ; to generate the big XML message. The XML tags are automatically set to the MRM field name.

I tried use RCD to reset it to XML. However when I check XML , it expects a begin XML tag and an end XML tag because the default XML parser expects well formed XML.

These big XML output is then feed to the next compute node where I use the
SET OutputRoot>XML...= InputRoot.XML...
to change the tag name on the 20 fields that cusotmer wants.

I think the XML message was just being build dynamically and no tree was built inside the node and hence the subsequent compute node encounters NULL.

I think , I have to go back and code SET OutputRoot.XML....for every field of my large MRM message.









Back to top
View user's profile Send private message
Miriam Kaestner
PostPosted: Thu Nov 01, 2001 2:29 am    Post subject: Reply with quote

Centurion

Joined: 26 Jun 2001
Posts: 103
Location: IBM IT Education Services, Germany

If you need only 20 fields out of the large MRM msg, you could just simply use 1 compute node with "Copy msg headers only" and 20 statements like this:
SET OutputRoot.XML.NEWTAG.DATA1=InputRoot.MRM.MSG1.ST_DATA_2;

Don't forget for XML there must only be 1 root element - in this case, NEWTAG.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Big MRM to XML
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.