Hi,
 
I have a problem regarding decoding special characters but it only appears in the server. I have a complex type and some of the elements
are strings that can contain special characters. So if I set one of these strings on the complex type in the client like follows:
 
        TRInfo updateInfo = new TRInfo();
        updateInfo.setComment("New Comment SOAP å ä ö Å Ä Ö");
 
I send this complex type in a call to the server and it looks like this in the SOAPMonitor:
        <comment xsi:type="soapenc:string">New Comment SOAP &#xE5; &#xE4; &#xF6; &#xC5; &#xC4; &#xD6;</comment>
 
So the special characters have been encoded, thats fine.
 
But when I print the string at the server it looks like this:
        Comment: New Comment SOAP ? ? ? ? ? ?
 
It has not been able to decode the string correctly.
 
So I tried to return the same complex type from the server to the client. So in the server I set.
        TRInfo info = new TRInfo();
        info.setComment("Comment åäö ÅÄÖ");
        return info;
 
In the method I call from the client the server returns the above complex type and the response looks like this in the SOAPMonitor
        <comment xsi:type="xsd:string">Comment &#xE5;&#xE4;&#xF6; &#xC5;&#xC4;&#xD6;</comment>
 
So the special characters have been encoded, thats fine.
 
And when printing the string at the client it looks like this:
       
comment: Comment åäö ÅÄÖ
 
So returning the complex type containing special characters works just fine from server to the client, but sending a complex
type from the client to the server does not work. The SOAP message are encoded in just the same way so I guess the
bug is in the decoding of the string at the server.
 
I am using a WSDL file that I generate both client and server stubs from so I have done no implementation myself regarding
handling of messages and such things. Is this a know bug and is there some workaround or have I completely missed
something?
 
Best regards,
Thony Lundin

Reply via email to