cancel
Showing results for 
Search instead for 
Did you mean: 

two (2) message mappings for one (1) interface mapping possible?

Former Member
0 Kudos

Hello everyone!

Right now? I've assigned two mapping programs (1 XSLT, and 1 XI message mapping) to an Interface Mapping in the integration repository.

However, I'm getting a parser error: <i><b>"XMLParser: No data allowed here: (hex) 0(:main:, row:5, col:0"</b></i> when I test the message.

Can anyone tell me how to successfully configure two message mappings for one Interface mapping? And what the cause of the above error might be?

Thanks in advance!

Glenn

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Just ensure the output of the first mapping program is the input of the second mapping. Test your first message mapping by giving some dummy values and copy the result of the mapping and use it as the input for the second message mapping. Finally you can test the interface mapping.

P.S: Adding 2 mapping programs to a single interface mapping could result in performance degradation. Resort to this as a last option.

Regards,

Jai Shankar

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

It is possible when you have synchronous interfaces.One message mapping for request and on for response. In interface mapping screen , you click on read interfaces. then you will get two options to specify your two message mappings. as wel as source and target interfaces.

moorthy
Active Contributor
0 Kudos

Hi,

Answer to question :- yes it is possible,.

Need to provide first mapping out put structure as input to second mapping.

The error talks about some kind of syntax error in structure. Just verify the output of first mapping and the structure.

Quick check is testing the first mapping independently and then give the output of that into Second Mapping and test. in the mapping editor.

Hope it helps

rgds,

Moorthy

Former Member
0 Kudos

Hello Krishna!

Thanks for your reply! I included the structure in the XSLT mapping, and now the two mappings are working; however, my XSL processing instruction disappears in the output, whereas if only the XSLT mapping is used, it appears. Here is the processing instruction:

<i><xsl:processing-instruction name="soxtype urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0">

</xsl:processing-instruction>

<xsl:processing-instruction name="import urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0">

</xsl:processing-instruction></i>

Here is the output I want:

<b><?xml version="1.0" encoding="ISO-8859-1"?>

<?soxtype urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>

<?import urn:x-commerceone:document:com:commerceone:XCBL35:XCBL35.sox$1.0?>

<POHEADER> .......</POHEADER></b>

Anyway to make this appear? It works when I just use the XSLT mapping, but with the two mappings, only the fields are displayed without the declaration.

Warm regards,

Glenn

Former Member
0 Kudos

Hello Krishna!

What format should the structure that I will put in the second mapping be in? XSD? Plain XML?

The error has disappeared but I'm not getting the results of the first mapping in the final outcome?

Warm regards,

Glenn

Former Member
0 Kudos

Guys!

I have been able to use the two mappings using the <b>"<xsl:copy-of select="child::node()"/>"</b> command in the XSLT.

Thanks for your very helpful responses!

Best Regards,

Glenn

Former Member
0 Kudos

Hi,

if you copy XML file directly in TEST it will show this error.

You have to check for any character <b>'-'</b> that has appeared in your test file.

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

will throw the same error.

Regards,

Akshay Jamgaonkar.

    • Reward points if find useful.

Mark question answered if solved.

Former Member
0 Kudos

hey

in addition to what other experts suggested,i would advice you to check the sender file.we normally get Parser error if there is something wrong in the sender file,may be some special character

Thanx

Aamir

justin_santhanam
Active Contributor
0 Kudos

Glenn,

Can u confirm that u've inserted the mapping program in Interface Mapping in the following manner

Source -


> Target

Target -


>Target

raj.

Former Member
0 Kudos

Hello Jai,

Hmm... I'm not sure I follow on what you mean by:

"Target -


>Target"

Actually, the reason why I have two mappings is that I want to add some declarations to the XML file using XSLT. In the first mapping, there are no fields that need to be mapped, the second (XI mapping) is the one that maps the fields between the two interfaces.

This is how my configuration looks like

Source message > XSL:xslmapping > Target message

............................MM: ximapping

I've tested each of the mappings separately, and there's no problem. Putting it together results in the error. Do you think I need to do something to the XML declaration?

Warm regards,

Glenn

PS> thanks for all your replies!