因此官方XML-RPC标准不支持64位值。但在现代,64位值越来越普遍。
你如何处理这些?哪些XML-RPC扩展最常见?有什么语言绑定?我对Python和C ++特别感兴趣,但感谢所有信息。
答案 0 :(得分:7)
实际上,有些库支持64位扩展,但似乎没有标准。例如,xmlrpc-c有一个所谓的i8,但它不适用于python(至少在默认情况下不起作用)。
我会建议:
答案 1 :(得分:1)
使用“i8”作为数据类型正变得越来越普遍。我最近将此添加到我的Perl XML-RPC模块(http://metacpan.org/pod/RPC::XML)中,以响应来自需要它的大型组的请求,以便与使用Java编写的服务器一起工作。我不知道服务器使用了什么工具包,但它已经接受了i8作为一种类型。
我觉得还有一件事需要解决,就是“i4”的“int”别名是否也应该接受i8,它目前的方式是i4。或者,就此而言,如果输入为i8的参数应该安静地接受输入为i4的输入。当你不需要SOAP的所有覆盖范围时,XML-RPC作为一种轻量级,低开销的协议具有很大的潜力,但在REST和SOAP之间的宗教战争中经常被忽略。
XML-RPC需要进行一些更新和修改,如果我们可以让原作者允许它......
答案 2 :(得分:0)
我对XMLRPC的扩展方式一无所知,但我确实找到了关于这个主题的this mail:
在XML-RPC中,一切都在传输 作为一个字符串,所以我不这么认为 选择真的那么糟糕 - 除了 当然是为了额外的笨拙 用于调用显式转换 功能
但不,XML-RPC没有数据 可以表示上面的整数的类型 2 ** 32。如果你能接受失败 精度,你可以使用双打(但是 你仍然需要转换 明确地发送者)。
答案 3 :(得分:0)
XML-RPC.NET已支持< i8>自2.5.0发布(2010年9月5日)。