VERIFIED SOLUTION i

Resolve 'org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference' in EngageOne Digital Delivery

Issue

Processing of DIJ file fails with 'org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference' in the application logs

<Datetime> [EM] ERROR [pool-1-thread-3] Digester.fatalError(1655) | Parse Fatal Error at line 12 column 109: The entity name must immediately follow the '&' in the entity reference. org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.

For example, if field value is  "Marks & Spencer". In the input file of EngageOne Server, it appears as :
<Name> One &amp; Two<Name>.

In the EngageOne output, DIJ has following entry :
<DDSDocValue name="Subject" type="text" len="35">One & Two</DDSDocValue>






 

Cause

Processing of DIJ file in EngageOne Digital Delivery (eMessaging) fails as "&" is XML parser and not recognized by EngageOne Digital Delivery as EngageOne Server do not preserve HTML formatting while producing the DIJ.

 

Resolution

UPDATED: May 16, 2017
Instead of using  "Marks &amp; Spencer" in input file of EngageOne Server, change the formatting to "Marks &amp;amp; Spencer".
First '& amp;' will be parsed, but second will remain and output will look like expected. Second 'amp' is preserved in DIJ and thus causing e-messaging to parse the file successfully.

In case issue persists, contact Client Support.