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.

È stato utile?

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

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