I have a problem with DOM deserialization on the Axis server side.
If I send some XML which contains a comment, all the comment's
"special characters" like the ampersand, are escaped and characters
higher than 127 are escaped also.
For example, if the comment is something like
<!-- A comment & an acute accented o: รณ -->
will be deserialized into
<!-- A comment & an acute accented o: ó -->
and that's what the Element parameter of my operation will receive, a
garbled comment. Let's say we are writing a "DOM echo" web service.
Well, it won't be so much of an echo since the response XML will
have garbled comments.
If the original sender would resend the received echo, the comment will
be further garbled and be deserialized to:
<!-- A comment &amp; an acute accented o: &#xF3; -->
This deserialization is (kinda) OK for text nodes, but a comment
should be left as is. The only illegal sequence in a comment is two
dashes together (as far as I know)
Surprisingly, CDATA sections are well handled and no weird conversions
will occur.
I tried to navigate through Axis code but I didn't have a definitive
place where this is happening and I don't have time at the moment to
look further. Ah, I'm using Axis 1.2.1 in case you're wondering :-)
It solved several of the problems we had in version 1.1 with UTF-8
handling but it seems it incorporated some new problems like this one.
Why do I need to send comments you ask? Well, our users are required to
write some XML in a HTML textarea and save it. It would be nice that
they got exactly the same XML back!
Thanks
BarZ
Internet Banda Ancha Todo el Dia desde $u 490 por mes!
______________________________________________________
http://www.internet.com.uy - En Uruguay somos internet