cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Error - XML Parser Exception

Former Member
0 Kudos

We have a scenario where an ABAP Client Proxy sends a message to PI. This message is transformed into the mail package format and an email sent via the mail adapter.

The Interface Mapping has 2 steps. The 1st step uses an XSL transformation to format the <Content> as html. This step also sets the <Subject>, <To> and <Content_Type> fields. The 2nd step uses a graphical message mapping to dynamically set the <From> field based on the sender system.

We are experiencing the following intermittent error with this scenario:

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_EUK_MM_MailFrom_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:P3>

This relates to the 2nd mapping step (graphical message mapping) described above.

The message trace provides the following detail

<Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Entity 'lt' undefined(:main:, row:3, col:227) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException

This suggests that the XML produced by the XSL transformation is invalid.

The strange thing is that it is very difficult to replicate the error as it doesn't always occur even with the same payload! If the message is restarted it processes successfully. Testing the interface mapping in the IR, with the same payload, works successfully.

I would welcome any ideas you may have on this.

Thanks

Mark

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Mark !

Just an idea:

" Entity 'lt' undefined(: " seems to be related with a "less than" character "&lt;" = "<" that it is not being recognized.

Regards,

Matias.

Former Member
0 Kudos

Matias

Thanks for your comment. I realise that this message refers to the "<" character. What I don't understand is why this error is intermittent and why restarting the message always works successfully if this is a true mapping error. Also testing the interface mapping in the IR always works successfully.

Any ideas?

Mark

Former Member
0 Kudos

Hi Mark,

did you find the reason for your problem? Cause we have a similar error in one of our mappings.

Thanks,

Olaf

Edited by: Olaf Glebsattel on Mar 10, 2008 9:14 AM

Former Member
0 Kudos

Hi Mark,

thing i know now why it works at "restart".

When the message comes first you get the character '&lt;' in your xml for example: '&<(0'

and you get the ParserException.

Now the message is stored for queueing in the db. I assume the characters are now stored in the 'right way': '&amp;amp;&amp;lt;(0'

When the message now will be restarted everything works fine.

Regards,

Olaf

Former Member
0 Kudos

Hi Olaf,

we have the same problem with the Xml parser.

Did you solve it eventually?

We have Nw04s SP10.

Thank you very much.