Qual è la differenza tra XML-RPC e SOAP?
-
09-06-2019 - |
Domanda
Non ho mai veramente capito perché un implementatore di servizi web dovrebbe sceglierne uno rispetto all'altro.XML-RPC si trova generalmente nei sistemi più vecchi?Qualsiasi aiuto per capirlo sarebbe molto apprezzato.
Soluzione
Differenze?
SOAP è più potente ed è di gran lunga preferito dai fornitori di strumenti software (MSFT .NET, Java Enterprise edition, quel genere di cose).
SOAP è stato per molto tempo (dal 2001 al 2007 circa) visto come il protocollo preferito per SOA.xml-rpc non tanto.REST è il nuovo tesoro della SOA, sebbene non sia un protocollo.
SOAP è più dettagliato, ma più capace.
SOAP non è supportato in alcune delle versioni precedenti.Ad esempio, nessuna libreria SOAP per ASP classico (che ho potuto trovare).
SOAP non è ben supportato in Python.XML-RPC ha un ottimo supporto in Python, nella libreria standard.
SOAP supporta il trasferimento a livello di documento, mentre xml-rpc riguarda più il trasferimento di valori, sebbene possa trasferire strutture come strutture, elenchi, ecc.
xm-rpc riguarda in realtà il trasferimento indipendente dal linguaggio da programma a programma.Va principalmente su http/https.I messaggi SOAP possono essere trasmessi anche tramite posta elettronica.
xml-rpc è più univoco.Ti consente di fare le cose in modo semplice e, quando sai cosa stai facendo, è molto veloce implementare servizi Web di qualità, anche quando utilizzi editor di testo del terminale.Fare SOAP in questo modo è uno zoo;hai davvero bisogno di un buon IDE per renderlo fattibile.
Conoscere SOAP, tuttavia, avrà un aspetto molto migliore sul tuo curriculum/CV se stai gareggiando per un lavoro IT tra le aziende Fortune 500.
xml-rpc presenta alcuni problemi con i set di caratteri non ASCII.
XML-RPC non supporta parametri denominati.Devono essere nell'ordine corretto.Non sono sicuro di SOAP, ma la penso così.
Altri suggerimenti
Solo per aggiungere alle altre risposte, ti incoraggio a guardare le rappresentazioni testuali reali delle chiamate SOAP e XML-RPC, magari acquisendone una con Ethereal.L'intero argomento "XML-RPC è più semplice" non ha molto senso finché non si vede quanto sia incredibilmente dettagliata una chiamata SOAP.Molti dei siti Web abbastanza popolari in circolazione evitano SOAP come API a causa della quantità di larghezza di banda che consumerebbe se le persone iniziassero a utilizzarlo in modo estensivo.
Kate Rhodes ha un ottimo saggio sulle differenze in http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap