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 å ä ö
Å Ä Ö</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 åäö
ÅÄÖ</comment>
So the special
characters have been encoded, thats fine.
And when printing
the string at the client it looks like
this:
comment: Comment åäö ÅÄÖ
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
