Domanda

Quindi lo standard XML-RPC ufficiale non supporta i valori a 64 bit. Ma in questi tempi moderni, i valori a 64 bit sono sempre più comuni.

Come li gestisci? Quali estensioni XML-RPC sono le più comuni? Quali collegamenti linguistici ci sono? Sono particolarmente interessato a Python e C ++, ma tutte le informazioni sono apprezzate.

È stato utile?

Soluzione

Alcune librerie supportano in effetti estensioni a 64 bit, ma non sembra esserci uno standard. xmlrpc-c , ad esempio, ha un cosiddetto i8 ma non funziona con Python ( almeno non di default).

Vorrei raccomandare a:

  • Converti manualmente l'intero in stringa e invialo come tale. XMLRPC lo convertirà comunque in stringa, quindi direi che questo è ragionevole.
  • Rompilo in due numeri interi a 32 bit e invialo come tale.

Altri suggerimenti

L'uso di " i8 " poiché un tipo di dati sta diventando sempre più comune. Di recente l'ho aggiunto al mio modulo Perl XML-RPC ( http://metacpan.org/pod/RPC :: XML ) in risposta a una richiesta di un grande gruppo che ne aveva bisogno per lavorare con un server scritto in Java. Non so quale toolkit sia stato utilizzato dal server, ma stava già accettando i8 come tipo.

Una cosa che sento ancora deve essere affrontata, è se il " int " alias per " i4 " dovrebbe anche accettare i8, come attualmente i4. O, del resto, se un parametro digitato come i8 dovrebbe accettare tranquillamente un input digitato come i4. XML-RPC ha un grande potenziale come protocollo leggero e poco costoso utile quando non hai bisogno di tutta la copertura di SOAP, ma è spesso trascurato nelle guerre di religione tra REST e SOAP.

XML-RPC necessita di alcuni aggiornamenti e revisioni, se solo potessimo convincere l'autore originale a permetterlo ...

Non so nulla su come XMLRPC possa essere esteso ma ho trovato questa mail sull'argomento:

  

In XML-RPC, tutto viene trasmesso   come una stringa, quindi non credo   la scelta è davvero così cattiva - tranne che per   corso per la goffaggine aggiuntiva   per invocare la conversione esplicita   funzioni.

     

Ma no, XML-RPC non ha dati   tipo che può rappresentare numeri interi sopra   2 ** 32. Se puoi accettare di perdere   precisione, puoi usare il doppio (ma   dovresti ancora convertirti   esplicitamente sul mittente).

XML-RPC.NET ha supportato < i8 > dalla versione 2.5.0 (5 settembre 2010).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top