cancel
Showing results for 
Search instead for 
Did you mean: 

MultiMapping with XSLT

Former Member
0 Kudos

Hi All,

I have created MultiMapping ( 1 Sender-Message / multipe Receiver-Messages ), with two Mapping Steps: First an XSLT-Mapping, and in the second step a (graphical) Message Mapping.

In the XSLT-Mapping I add the tags <Messages> and <Message1> to the xml-File.

In the graphical Message Mapping I split the message into several messages.

Everything is working fine in the test tool of the interface mapping.

But at runtime I get the error "Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'sxi' is not mapped to a namespace(:main:, row:2, col:139) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep"

Indeed I am not using the prefix 'sxi' at any place.

Has anybody of you an idea, what this error message could mean.

Thanks a lot for your help

Barbara

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member200962
Active Contributor
0 Kudos
Prefix 'sxi' is not mapped to a namespace(:main:, row:2, col:139)

In your XSLT mapping you will have the second line as:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns1="http://....." xmlns:ns0="http://......" xmlns:sxi=http://......">

so you have missed the xmlns:sxi in the above line....just add it with the corresponding namespace....

Rest of your XSLT mappping will be having sxi:Something....but in the initial part you have to define sxi...

Regards,

Abhishek.

Former Member
0 Kudos

Hi Abhishek,

Indeed, my source message looks like this

<ale:ECReports xmlns:ale='urn:epcglobal:ale:xsd:1' xmlns:epcglobal='urn:epcglobal:xsd:1' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:epcglobal:ale:xsd:1 Ale.xsd' schemaVersion='1.0' totalMilliseconds='7000' terminationCondition='DURATION'>

It contains prfixes with 'xsi' but not with 'sxi' .... ?

However, I now I add in the XSLT-Mapping these two attributes to the target message. The Result of the XSLT looks like this now

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"><ns0:Message1><ns1:ECReports xmlns:ns1="http://osram.de/X_TALK" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:epcglobal:ale:xsd:1 Ale.xsd"> ....

But I still get the same runtime error.

regards

Barbara

former_member200962
Active Contributor
0 Kudos

your XSLT mapping seems to have sxi: prefixed to some element...just make a search in your XSLT and see if there is any occurence of sxi: .....if there is any then change it accordingly (if needed)

Regards,

Abhishek.

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi ,

If are implemention multimapping using XSLT,add Split and Merger name space in XSLT Mapping .

Regards,

Raj

Former Member
0 Kudos

Hello Raj,

Thanks for your reply.

I have this namespace in my XSLT-Mapping-Result.

After XSLT my message looks like this:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:ECReports xmlns:ns1="http://osram.de/X_TALK">

<reports>

.... Message ...

</reports>

</ns1:ECReports>

</ns0:Message1>

</ns0:Messages>

The splitting works fine when doing the test in the interface mapping.

The error only appears at runtime.

Barbara