Incoming XML through http is breaking when special characters are encountered

Hello all,
We are integrating Siebel with an AS400 ERP system.
One of the integrations sends Order data from Siebel to the ERP system.
Siebel sends the entire Order XML to a flow service in webMethods by HTTP Post.
However if the xml contains characters like ‘&’ (ampersand) and “abc” (quotation marks), the xml breaks.

I am a bit puzzled because the xml is utf-8 encoded, and it still breaks in webMethods.

Kindly help me identify the issue.

Attaching the sample XML and the screenshot of the Developer Results when the pipeline is restored.

Thanks in advance,
kiranj
Order.xml (15.8 KB)
IncomingXML_Devleoperresults.doc (24.5 KB)

Some characters have special meaning in XML and must therefore be converted to character entities (escaped). XML with such characters is not considered valid.

[URL]http://www.w3.org/TR/REC-xml/[/URL]
[URL]http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references[/URL]

Also, it appears that Siebel is posting an HTML form. Given the presence of pipeline vars that are named with data from the XML, there is either an issue with the form, the form handler in IS, or the text in $xmldata is too long. If possible, it might be preferrable to do an HTTP post to post text/xml content data instead of a form.

Hi Kiranj,

I am having the same problem. Were you able to fix it?

Hi naylah,

I explored what reamon suggested and discovered that the data coming in form Siebel wasnt URL encoded, so i approached the Siebel integration team and they do a find and replace of all special characters with their URL encoded values.
Once that was done, I received complete data in webMethods.

Hope this helps,
kiranj

Kiranj,

Thanks, i’m still trying to figure out how to adjust that on peoplesoft.

We had a similar issue for over year. Worked lots of hours and cases with both SAG and Oracle and finally found a SAG resource who really knew her stuff. We’re still “new” but a little less wet behind the ears.

Issue - XML payload from PeopleSoft failed in our processing if “special characters” were present. We were simply grabbing the payload via a copy of the wm.adapter.peoplesoft.outbound.sample:getXML java, then running pub.xml.xmlStringToNode and pub.xml.xmlNodeToDocument.

Solution - added Content-Type text/xml to the webM node definition in PeopleSoft and then changed the services to process the payload to pub.xml.xmlNodeToDocument & pub.xml.documentToXMLString. No more grief!