Author |
Message
|
brokendrum |
Posted: Thu Jun 12, 2003 3:13 am Post subject: RCD on one XML tag |
|
|
Apprentice
Joined: 14 Jan 2003 Posts: 34
|
I have an XML message of which one field contains a swift message. The other fields are headers which I have moved into 'Environment' as follows:
SET Environment.Header1 = InputRoot.XML.MESSAGE.Header1;
SET Environment.Header2 = InputRoot.XML.MESSAGE.Header2;
I now want the remaining field containing the Swift message to become the body of the message so that I can parse it against my existing Swift MRM library - Something like:
SET "OutputRoot"."MRM" = InputRoot.XML.MESSAGE.Swift;
But this doesn't work.
(The compute node containing the above is connected to an RCD node which hold details of the Swift MRM library.)
Any help would be greatly appreciated.
BD |
|
Back to top |
|
 |
shalabh1976 |
Posted: Thu Jun 12, 2003 5:18 am Post subject: |
|
|
 Partisan
Joined: 18 Jul 2002 Posts: 381 Location: Gurgaon, India
|
Why don't you nullify the Header so that it is removed from the XML message and then simply pass the XML as input to the RCD node.
You don't need to set the MRM in the compute node. |
|
Back to top |
|
 |
brokendrum |
Posted: Thu Jun 12, 2003 5:39 am Post subject: |
|
|
Apprentice
Joined: 14 Jan 2003 Posts: 34
|
It's a good idea but the Swift is left in the tree at the same branch location. I need to move the 'Swift' field to become the body of the message.
Thanks anyway.
BD |
|
Back to top |
|
 |
shalabh1976 |
Posted: Thu Jun 12, 2003 6:31 am Post subject: |
|
|
 Partisan
Joined: 18 Jul 2002 Posts: 381 Location: Gurgaon, India
|
You can always use the detach and attach commands to move a xml branch to another position |
|
Back to top |
|
 |
kirani |
Posted: Thu Jun 12, 2003 3:31 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Try this:
In a compute node, select "Copy Message Headers only" and write following esql code:
Code: |
SET OutputRoot."BLOB"."BLOB" = CAST (InputRoot.XML.MESSAGE.Swift AS BLOB CCSID InputRoot.Properties.CodedCharSetId);
|
Attach a ResetContentDescriptor node to the out terminal of this compute node, which will parse this message using "Swift MRM message defn". I hope this will solve your problem. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
brokendrum |
Posted: Thu Jun 12, 2003 11:59 pm Post subject: |
|
|
Apprentice
Joined: 14 Jan 2003 Posts: 34
|
Kiran,
Thanks for your reply - but I've discovered another problem. When I come to parse the Swift message within the XML message, the Carriage Return Line Feeds have been interpreted as Line Feeds by the XML parser. The Swift MRM Libraries pre-built by IBM can only identify CRLFs and therefore can't parse he message. I think the best way round this is to add to the existing Swift MRM Libraries TDS layer using the XML markups as tags and delimiters.
Thanks again,
BD |
|
Back to top |
|
 |
|