Dan*_*iel 4 python xml-rpc simplexmlrpcserver xmlrpclib python-2.7
是否有可能允许long intPython simplexmlrpc服务器的xmlrpc扩展(数据类型)?
客户端使用Apache xmlrpc,它允许8字节整数.
基本上,我正在使用此函数的示例代码来测试它:
def FcnRLong():
x=8000000000L
return x
Run Code Online (Sandbox Code Playgroud)
这会导致此错误:
Java exception occurred:
org.apache.xmlrpc.XmlRpcException: <type 'exceptions.OverflowError'>:long int exceeds XML-RPC limits
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?是否有支持Python 2.7的xmlrpc服务器long int?
jhe*_*ann 10
以下代码段中的第二行更改了长整数的编组,<i8>而不是<int>.是的,它不是太漂亮,但应该工作并解决问题.
>>> import xmlrpclib
>>> xmlrpclib.Marshaller.dispatch[type(0L)] = lambda _, v, w: w("<value><i8>%d</i8></value>" % v)
>>> xmlrpclib.dumps((2**63-1,))
'<params>\n<param>\n<value><i8>9223372036854775807</i8></value></param>\n</params>\n'
Run Code Online (Sandbox Code Playgroud)