cancel
Showing results for 
Search instead for 
Did you mean: 

unsported character error in message mapping

Former Member
0 Kudos

I use a sender mail adapter to read an xml and then map it to another message type. Most of the time, it's ok. But when there are some special German character such as ö ä ß, then I get the "unsuported character" error.

Anyone could help?

thanks!

com.sap.engine.lib.xml.parser.ParserException: Unsupported character: 32(:main:, row:11, col:14) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:207) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:205) at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.read(AdvancedXMLStreamReader.java:143) at com.sap.engine.lib.xml.parser.XMLParser.scanCharData(XMLParser.java:2000) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2445) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) -

-


at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Caused by: com.sap.engine.lib.xml.parser.ParserException: Unsupported character: 32(:main:, row:11, col:14) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:207) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:205) at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.read(AdvancedXMLStreamReader.java:143) at com.sap.engine.lib.xml.parser.XMLParser.scanCharData(XMLParser.java:2000) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2445) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) ... 4 more com.sap.engine.lib.xml.parser.ParserException: Unsupported character: 32(:main:, row:11, col:14) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:207) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:205) at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.read(AdvancedXMLStreamReader.java:143) at com.sap.engine.lib.xml.parser.XMLParser.scanCharData(XMLParser.java:2000) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2445) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) -

-


at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Caused by: com.sap.engine.lib.xml.parser.ParserException: Unsupported character: 32(:main:, row:11, col:14) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:207) at com.sap.engine.lib.xml.parser.readers.EncodedDataReader.read(EncodedDataReader.java:205) at com.sap.engine.lib.xml.parser.helpers.AdvancedXMLStreamReader.read(AdvancedXMLStreamReader.java:143) at com.sap.engine.lib.xml.parser.XMLParser.scanCharData(XMLParser.java:2000) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2445) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java:2440) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1841) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2843) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) ... 4 more

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

hui ,

you need to do as stefan said.

Transform.ContentType

Former Member
0 Kudos

Hi,

u can do it. Just in sender communication channel set :

File Type : Text

File Encoding : ISO-8859-1

Thanks,

Maheshwari,

Former Member
0 Kudos

Hi Hui,

log in XI.....in menu choose System -> Status.....then a window opens....in this see in SAP data -> Unicode system ......this Unicode system should be yes..then only you can deal with these special german characters......but i think your XI system is non-Unicode........if your XI system has Unicode system as No, then you will not be able to deal with these special german characters.

Thanks,

Rajeev Gupta

stefan_grube
Active Contributor
0 Kudos

Put in the sender mail adapter the module AF_Modules/MessageTransformBean before the other module. Add following parameter:

Transform.ContentType text/plain;charset="ISO-8859-1"

Regards

Stefan

Former Member
0 Kudos

I tried different combinations, only one works for me

in the original xml file, set as follows:

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

the parameter for MessageTransformBean, set as follows:

Transform.ContentType text/xml;charset="utf-8"

The other combinations don't work. I don't why, maybe someone can explain.

btw: My xi system supports Unicode.

stefan_grube
Active Contributor
0 Kudos

The question is, whether the mail server provides the correct codepage or not.

When the mail server provides for example:

content-type: application/xml, then the encoding is taken from the XML declaration which must be <?xml version="1.0" encoding="iso-8859-1" ?>.

When the mail server provides:

content-type: application/anythingelse, then the encoding cannot be taken anywhere and has to be set by the MessageTransformBean

Regards

Stefan

Former Member
0 Kudos

Hi stefan,

if I don't use MessageFormBean and don't add any encoding information to the original xml, then XI will set the my message as follows:

MailMessage (text/plain;charset="iso-8859-1")

xml payload

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

Could you explain why the configuration I gave in my last post works?

thanks

regards,

Hui

stefan_grube
Active Contributor
0 Kudos

As the mail server provides the correct encoding, the MessageTransformBean does the conversion to UTF-8.

If the encoding was not set by the mail server, then the MessageTransformBean would only set the content type, but not do any conversion.

When you are not sure, if the content type is by the mail server, you can apply the MessageTransformBean twice: First with iso-8859-1, second with UTF-8

I am not sure, why the mapping tool cannot do the conversion, but I think this is because the content type is not application/xml. But this is only a guess.

What happens, when you only apply the MessageTransformBean, but do not change the XML encoding?

Former Member
0 Kudos

If only use MessageTransformBean without providing any encoding information in the XML, then the program runs into error.