[ https://issues.apache.org/jira/browse/AXIS2-4309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12699056#action_12699056 ]
Johannes Wagener commented on AXIS2-4309: ----------------------------------------- similiar problem with incoming json requests, when they get processed in JSONDataSource getJSONString: char temp = (char)jsonInputStream.read(); jsonString = ""; while ((int)temp != 65535) { jsonString += temp; temp = (char)jsonInputStream.read(); } the request data is being read from the raw inputStream -> UTF-8 characters will break. using an InputStreamReader with the appropriate charset should fix this: InputStreamReader inputStreamReader = new InputStreamReader (jsonInputStream,charsetName); char temp = (char)inputStreamReader.read(); jsonString = ""; while ((int)temp != 65535) { jsonString += temp; temp = (char)inputStreamReader.read(); } > JSONMessageFormatter isnt using the correct charset encoding > ------------------------------------------------------------ > > Key: AXIS2-4309 > URL: https://issues.apache.org/jira/browse/AXIS2-4309 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Affects Versions: 1.4.1 > Reporter: Johannes Wagener > > When using JSONMessageFormatter, i had some trouble with german umlauts. The > response wasnt in the correct encoding (UTF-8) > After debugging for while, i found out that getJSONWriter in > JSONMessageFormatter.java and JSONBadgerfishMessageFormatter.java > is ignoring the requested charset encoding: > protected XMLStreamWriter getJSONWriter(OutputStream outStream) { > return new BadgerFishXMLStreamWriter(new > OutputStreamWriter(outStream)); > } > In my case outputStreamWriter was writing in CP819 (or something like that), > while the response had a > Content-Type: application/json;charset=UTF-8 > so i changed it to: > protected XMLStreamWriter getJSONWriter(OutputStream outStream,Charset > charset) { > return new BadgerFishXMLStreamWriter(new > OutputStreamWriter(outStream, charset)); > } > when calling getJSONWriter i used: > Charset charset = Charset.forName(format.getCharSetEncoding()); > > XMLStreamWriter jsonWriter = getJSONWriter(out,charset); > and catching the UnsupportedEncodingException. > After changing these 2 files, everything worked as expected. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.