You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by me...@my.com on 2006/05/03 11:39:13 UTC

Date and unicode handling in 3.0b1

My work on the current project made me really appreciate the simplicity and
power of this protocol, and for this I'm really grateful to Jochen and all
of you guys who took the time to develop this library. Thank you, and keep
up the good job !

I've been developing the client java application which has to RPC
delphi-based server. This is a multi-language project, so all the
communication has to go in utf-8. I do understand that my requirements are
far from common, but because of these requirements I was lucky to find some
issues ( most of them traced to ws.commons.util ) which could be resolved in
next version.

Environment :
Client : windows xp
	java 1.5
	xmlrpc-3.0b1-SNAPSHOT
	
Server : delphi 7.0 on Windows xp or kylix 3.0 on linux
	xml-rpc library from http://sourceforge.net/projects/delphixml-rpc/
	

1. org.apache.xmlrpc.parser.DateParser throws SAXParseException("Failed to
parse integer value: " ), which is a little bit misleading since it is DATE
value it tries to parse. This probably should be changed to "Failed to parse
date value"

2. org.apache.ws.commons.util.XsDateTimeFormat simply does not work with
dates in 19980717T14:08:55 format, as described in XMLRPC specification. I
had to change the source to make it understand iso8601. Would it be possible
to add some configuration parameter to ws.commons.util, so it could handle
the expected date format ?

3. org.apache.xmlrpc.test.BaseTest does not have any tests to demonstrate
handling of date objects, that's why issues 1 and 2 weren't caught at the
testing stage. I think it would be useful to unclude date tests in future
versions.

4. org.apache.ws.commons.serialize.XMLWriterImpl encodes utf-8 characters as
&#code;&#code;.... which causes trouble on the server side. I do not think
that there should be any special handling of unicode characters at all,
since 
	- xmlrpc uses utf-8 encoding of the request by default
	- encoding bloats up the size of xml requests ( 7 encoded characters
for each non-encoded one )
	- encoding takes up additional resources
	- encoding causes incompatibilities on the server side ( i.e.
delphixmlrpc )
The way to get rid of the encoding would be modify canEncode function in
XMLWriterImpl to always return true.

All this leads me to question the benefits of building future versions of
xmlrpc based on ws.common.util . Is the functionality delegated there really
so big, as to justify the need for additional resources to test and
integrate this library ?

I would appreciate your comments.