Believe that this is quite severe bug unless I did something very wrong.
When sending/rretrieving a Map over XMLRPC the datatype is not correct. I've only checked for the keys, but the error might exist for the values as well.
Provided is a simple unit test to illustrate the bug. To reproduce run the unit tests in SerializationTest.
It has two test methods:
1) one that calls a static method and
2) and another that calls a method over XMLRPC which in turns call the same static method
The latter fails with a ClassCastException. Instead of the key being the expected Integer it is a String.
21 -> 'twentyone'
1 -> 'one'
>From Debug -> Variables (in Eclipse):
entry HashMap$Entry<K,V> (id=13)
value char (id=27)
value char (id=29)
As you can see 21 is a char and not an integer as expected.