Non-XML Files
To send non-XML files through PeopleSoft Integration Broker to their destination, you must wrap them in the PeopleSoft non-XML message element, CDATA. However, when you send messages to third-party systems, the recipient systems may not be able to interpret that element.
The Message class features a method, SetXMLDoc, that you can use to remove the tags upon execution of the method. Another alternative to removing the tags is to write a transformation to do so. If you do not use either option, the data remains in the wrapper through to the destination.
The following code example shows a non-XML file wrapped in the PeopleSoft non-XML message element, PsNonXmL, for transport through PeopleSoft Integration Broker:
Note:
The element PsNonXml is not case-sensitive.
<?xml version="1.0"?>
<AsyncRequest>
<data PsNonXml="Yes">
<![CDATA[<?xml version="1.0"?>101 123456789
12345678902 0510145 60094101First Bank First Bank 5200 University
000001 PPDDIRECT PAY020510020510000112345678000000162200000111 222
0000001000USA0000001 USA0000001 0000001110000001627123456
789131415511 0000001000 University 0123456780000
002 82000000020012345789000000001000000000001000 123456780000001
90000010000010000000200123457890000000010000000000010009999999999
99999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999
]]>
</data>
</AsyncRequest>The following example shows an alternative way to wrap a non-XML file in the PeopleSoft non-XML message element for transport through PeopleSoft Integration Broker:
<?xml version="1.0"?>
<AsyncRequest PsNonXml = ’Yes’>
<![CDATA[<?xml version="1.0"?>101 123456789 12345678902
0510145 60094101First Bank First Bank 5200 University 000001 PPDDIRECT
PAY020510020510000112345678000000162200000111 222
0000001000USA0000001 USA0000001 0000001110000001627123456
789131415511 0000001000 University 0123456780000
002 82000000020012345789000000001000000000001000 123456780000001
900000100000100000002001234578900000000100000000000100099999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999999999999999999999999
]]>
</AsyncRequest>
The following example shows using the SetXMLDoc method to remove the PsNonXML wrapper from a message:
// create xmldoc with PSNonXml tag and load it into the message
// create an instance of the Message object
&MSG = CreateMessage(OPERATION.QE_F18_ASYNC_XMLDOC);
// Load the Message object via the SetXmlDoc method with the xmldoc data.
// This will also remove the PSNonXml wrapper
&MSG.SetXmlDoc(&XmlDoc);
// perform a publish for the nonrowset-based message
%IntBroker.Publish(&MSG);
As stated previously in this section, if you do not use the SetXMLDoc method to remove the PsNonXml wrapper, you must write a transformation to physically remove the tags.