on 03-21-2007 2:11 PM
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
hui ,
you need to do as stefan said.
Transform.ContentType
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
u can do it. Just in sender communication channel set :
File Type : Text
File Encoding : ISO-8859-1
Thanks,
Maheshwari,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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
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
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?
User | Count |
---|---|
92 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.