Hi Tony,
I am sorry that I can not give you the full answer (because I do not know everything happening here) , however as i can see this problem is due to the parser that Axis2 uses. I think we need to set the character encoding when we crate the parser. Any way I will looking to that and let you know
Hi,

I have narrowed down an I18N problem when using Simplified Chinese characters 
in payload to Axis2 client side.

I have an Axis2 client using ServiceClient to send a SOAP request to my 
service.  For example a couple of characters in the payload are as follows:

U+4e2d U+6587  U+6d4b U+8bd5

When the service receives these characters, they appear as follows:

U+002d U+6587 U+004b U+8bd5

The high-order byte of the 1st and 3rd characters are incorrect.

When the Axis2 ServiceClient converts the payload to UTF-8 for sending across 
the wire, these bytes become (as seen in soapMonitor):
2de6 9687 4be8 af95

I think that they should be:
e4b8 ade6 9687 e6b5 8be8 af95

Can anyone explain what's going on?  Seems like an easy transformation of 
encodings for wire-format, but something is not quite right.

To replicate try the following:

        ServiceClient client = new ServiceClient(ctx, null);
                     ...

        String value = new String("Hello world: \u4e2d\u6587\u6d4b\u8bd5");
        OMElement response = client.sendReceive(getPayload(value));

The Asian characters are not sent as expected.

Thanks for any insight.

I'll enter a bug if it so warrants.



Tony Dean
SAS Institute Inc.
919.531.6704
[EMAIL PROTECTED]

SAS... The Power to Know
http://www.sas.com



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Thanks,
Deepal
................................................................
http://blogs.deepal.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to