質問

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

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

役に立ちましたか?

解決

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

次のいずれかを推奨します。

  • 整数を文字列に手動で変換し、そのまま送信します。XMLRPC はとにかく文字列に変換するので、これは合理的だと思います。
  • それを 2 つの 32 ビット整数に分割し、そのまま送信します。

他のヒント

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

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

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

XMLRPC をどのように拡張できるかについては何も知りませんが、見つけました。 このメール その主題について:

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

ただし、XML-RPCには、2 ** 32を超える整数を表すことができるデータ型がありません。精度を失うことを受け入れることができる場合は、ダブルを使用できます(ただし、送信者に明示的に変換する必要があります)。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top