所以官方XML-RPC标准不支持64位的价值观。但在这些现代化的时代,64位值都越来越常见。

你怎么处理这些?什么XML-RPC扩展是最常见的?什么语言绑定在那里?我特别感兴趣Python和C++,但是所有的信息表示赞赏。

有帮助吗?

解决方案

一些图书馆的支持64位的扩展,的确,但似乎并没有被一个标准。 xmlrpc-c, 例如,有一个所谓的i8但是它不工作与python(至少是不通过默认)。

我会建议:

  • 转换整数串通过手并把它作为这样的。XMLRPC将把这转换为字符串无论如何,所以我会说这是合理的。
  • 打破它在两个32位整数,并把它作为这样的。

其他提示

使用<!>“i8 <!>”;随着数据类型变得越来越普遍。我最近将此添加到我的Perl XML-RPC模块( http://metacpan.org/pod/RPC :: XML )响应来自需要它的大型组的请求,以便与使用Java编写的服务器一起工作。我不知道服务器使用了什么工具包,但它已经接受了i8作为一种类型。

我觉得还有一件事需要解决,那就是<!> quot; int <!> quot; <!>的别名; i4 <!>;也应该接受i8,它目前的方式是i4。或者,就此而言,如果输入为i8的参数应该安静地接受输入为i4的输入。当你不需要SOAP的所有覆盖范围时,XML-RPC作为一种轻量级,低开销的协议具有很大的潜力,但在REST和SOAP之间的宗教战争中经常被忽略。

XML-RPC需要进行一些更新和修改,如果我们可以让原作者允许它......

我对XMLRPC的扩展方式一无所知,但我找到了这封邮件

  

在XML-RPC中,一切都在传输   作为一个字符串,所以我不这么认为   选择真的那么糟糕 - 除了   当然是为了额外的笨拙   用于调用显式转换   功能

     

但不,XML-RPC没有数据   可以表示上面的整数的类型   2 ** 32。如果你能接受失败   精度,你可以使用双打(但是   你仍然需要转换   明确地发送者)。

XML-RPC.NET 支持<!> lt; i8 <!> gt;自2.5.0发布(2010年9月5日)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top