python xmlrpc中遇到的问题

在用python的xmlrpc时遇到了点问题,把它记录下来

在64位机子上,在传送对象时,出现"OverflowError, int exceeds XML-RPC limits"

解决方法:在/usr/lib64/python2.6/xmlrpc.py里面找到def dump_int(self, value, write):

把if value > MAXINT or value < MAXINT:

      raise OverflowError, "int exceeds XML-RPC limits"

这两行注释掉。

 

注释掉后又碰到了"cannot marshal objects"这个错误

在传送的对象里面有self.lock = thread.RLock()这个成员,所以不能解析传送,

解决方法是:

比如这个类为 A, 对象为 a = A()

在传送之前利用delattrr(a, 'lock')

然后在调用rpc的这一端利用setattr(a, 'lock', thread.RLock())这个属性加上

你可能感兴趣的:(python)