4

したがって、公式のXML-RPC標準は64ビット値をサポートしていません。しかし、これらの現代では、64ビット値がますます一般的になっています。

これらをどのように処理しますか?最も一般的なXML-RPC拡張機能は何ですか?どのような言語バインディングがありますか?私は特にPythonとC++に興味がありますが、すべての情報を歓迎します。

4

4 に答える 4

7

実際、一部のライブラリは 64 ビット拡張をサポートしていますが、標準はないようです。たとえば、 xmlrpc-cにはいわゆる i8 がありますが、Python では動作しません (少なくともデフォルトでは動作しません)。

次のいずれかをお勧めします。

  • 整数を手動で文字列に変換し、そのまま送信します。とにかく XMLRPC はそれを文字列に変換するので、これは合理的だと思います。
  • 2 つの 32 ビット整数に分割し、そのまま送信します。
于 2008-09-20T12:29:16.743 に答える
1

データ型として「i8」を使用することがますます一般的になっています。私は最近、Java で書かれたサーバーを操作するためにこれを必要とする大規模なグループからの要求に応えて、これを Perl XML-RPC モジュール ( http://metacpan.org/pod/RPC::XML ) に追加しました。サーバーが使用したツールキットはわかりませんが、すでに i8 をタイプとして受け入れていました。

まだ対処しなければならないと感じていることの 1 つは、"i4" の "int" エイリアスが、現在の i4 のように i8 も受け入れるかどうかです。または、さらに言えば、i8 として型指定されたパラメーターが i4 として型指定された入力を静かに受け入れる必要がある場合。XML-RPC は、SOAP のすべてをカバーする必要がない場合に便利な軽量でオーバーヘッドの少ないプロトコルとして大きな可能性を秘めていますが、REST と SOAP の間の宗教戦争では見過ごされがちです。

XML-RPC は、元の作成者に許可を得ることができれば、更新と改訂が必要です...

于 2008-09-22T06:42:22.740 に答える
0

XML-RPC.NETは、リリース 2.5.0 (2010 年 9 月 5 日) から <i8> をサポートしています。

于 2011-03-27T07:20:40.947 に答える
0

XMLRPC を拡張する方法については何も知りませんが、件名に関する次のメールを見つけました。

XML-RPC では、すべてが文字列として送信されるため、明示的な変換関数を呼び出すための追加の不器用さを除いて、選択が実際にそれほど悪いとは思いません。

しかし、いいえ、XML-RPC には 2**32 を超える整数を表現できるデータ型がありません。精度の低下を許容できる場合は、double を使用できます (ただし、送信側で明示的に変換する必要があります)。

于 2008-09-20T08:35:45.433 に答える