You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2017/09/03 08:15:00 UTC

[jira] [Updated] (CAMEL-11723) ManagedCamelContext.dumpRestsAsXml can fail if default charset is not utf-8

     [ https://issues.apache.org/jira/browse/CAMEL-11723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-11723:
--------------------------------
    Priority: Minor  (was: Major)

> ManagedCamelContext.dumpRestsAsXml can fail if default charset is not utf-8
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-11723
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11723
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, jmx
>    Affects Versions: 2.18.4
>         Environment: Windows, default charset is not UTF-8
>            Reporter: Niels Ull Harremoes
>            Priority: Minor
>              Labels: easyfix, windows
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> I am trying to access the rest definitions using the swagger servlet. 
> My operation description is in Danish and includes the character "æ".
> Thus, the xml string generated in line 371 of  org.apache.camel.management.mbean.ManagedCamelContext.dumpRestsAsXml
> contains the character "æ".
> In line 376-377, wh have
> {code}
>        InputStream is = new ByteArrayInputStream(xml.getBytes());
>         Document dom = XmlLineNumberParser.parseXml(is, new ...)
> {code}
> The call to xml.getBytes() uses the default encoding (CP-1252 in my case), which will encode æ as a single byte. The xml parser expects UTF-8 (since the xml starts with an xml declaration specifying encoding="UTF-8"). 
> Therefore, it fails with "Invalid byte 2 of 3-byte UTF-8 sequence".
> The fix is simple - change xml.getBytes() to xml.getBytes("UTF-8");



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)