Hello, >> Are you sure that it objects to characters with values > 0XFF? >> >> It certainly should refuse to send characters with values less than >> 0X20 unless they are /n, /r or /t. The XML spec spec does not allow >> these values in a well formed XML document. > > Sorry, that's right about values < 0x20. There is no problem that I > cannot send those characters. But about characters with values > 0xFF, > XML 1.0 allows it except for some special characters: > > Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | > [#x10000-#x10FFFF] > http://www.w3.org/TR/REC-xml/#charsets > > I think those should be allowed. The string I want to send only > contains Unicode characters defined in above.
I found some patch for passing non ascii char from http://jira.atlassian.com/browse/CONF-1188 But I got another problem when I patching above patch into 1.2-b1 version. if I send some Korean Character which the hex values are utf8Bytes[0] = 0xea utf8Bytes[1] = 0xb0 utf8Bytes[2] = 0x80 utf8Bytes[3] = 0xea utf8Bytes[4] = 0xb0 utf8Bytes[5] = 0x81 The receiving value was utf8Bytes[0] = 0xea utf8Bytes[1] = 0xb0 utf8Bytes[2] = 0x3f utf8Bytes[3] = 0xea utf8Bytes[4] = 0xb0 utf8Bytes[5] = 0x3f Does we need another patch ? I used following Testing code /** * Tests client/server RPC */ public void testHangul() { try { String hangul = "가각"; Vector params = new Vector(); byte[] utf8Bytes = hangul.getBytes("UTF-8"); // StringConverter is in java tutorial from sun StringConverter.printBytes(utf8Bytes, "utf8Bytes"); params.add(hangul); Object response = client.execute(HANDLER_NAME + ".echo", params); assertEquals(hangul, response); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage()); } } protected class TestHandler { public String echo(String message) { try { byte[] utf8Bytes = message.getBytes(); // StringConverter is in java tutorial from sun StringConverter.printBytes(utf8Bytes, "utf8Bytes"); } catch(Exception e) { // } return message; } } Thanks, Youngho