[Json-rpc-java] de/serializing java.math.BigInteger

#Cyrille37# cyrille37 at gmail.com
Fri Sep 14 17:10:04 SGT 2007


Hello (again),

I need your help on Deserialization error :

I need to transfer java.math.BigInteger, so i add a BigIntegerSerializer 
class in json-rpc and register it as default serializer.

JSONSerializer.java :
    ...
    public void registerDefaultSerializers() throws Exception
    {
        registerSerializer( new BeanSerializer() );
       ...
        registerSerializer( new BigIntegerSerializer() ); // here is.
        registerSerializer( new PrimitiveSerializer() );
    }
and I add BigIntegerSerializer in the package jsonrpc.

Serialization works fine (no error) and give this :

{
   "id":1,
   "result":
   {
       "g": { "biginteger":"1716...840436", 
"javaClass":"java.math.BigInteger" },
       "q": { "biginteger":"11005...341", 
"javaClass":"java.math.BigInteger" },
       "seed": [ -112,40,...,-96,-41 ],
       "p": { "biginteger":"1819...431", 
"javaClass":"java.math.BigInteger" },
       "javaClass":"crypto.key.dsa.DSAParametersGenerator"
   }
}

but deserialization failed :

Caused by: jsonrpc.UnmarshallException: bean 
crypto.key.dsa.DSAParametersGenerator can't instantiate bean 
java.math.BigInteger: java.math.BigInteger
    at jsonrpc.BeanSerializer.unmarshall(BeanSerializer.java:199)
    at jsonrpc.JSONSerializer.unmarshall(JSONSerializer.java:240)
    at jsonrpc.client.JSONRpcClient.invoke(JSONRpcClient.java:142)
    ...

Have you got a tips to help me ?
Thanks
Cyrille




More information about the Json-rpc-java mailing list