Pregunta

Nunca entendí realmente por qué un implementador de servicios web elegiría uno sobre el otro.¿XML-RPC se encuentra generalmente en sistemas más antiguos?Cualquier ayuda para entender esto sería muy apreciada.

¿Fue útil?

Solución

¿Diferencias?

SOAP es más potente y es el preferido por los proveedores de herramientas de software (MSFT .NET, edición Java Enterprise, ese tipo de cosas).

SOAP fue considerado durante mucho tiempo (2001-2007) como el protocolo elegido para SOA.xml-rpc no tanto.REST es el nuevo favorito de SOA, aunque no es un protocolo.

SOAP es más detallado, pero más capaz.

SOAP no es compatible con algunas de las cosas más antiguas.Por ejemplo, no hay bibliotecas SOAP para ASP clásico (que pude encontrar).

SOAP no es compatible con Python.XML-RPC tiene un gran soporte en Python, en la biblioteca estándar.

SOAP admite la transferencia a nivel de documento, mientras que xml-rpc se trata más de transferencia de valores, aunque puede transferir estructuras como estructuras, listas, etc.

xm-rpc se trata realmente de transferencia independiente del lenguaje de programa a programa.Principalmente pasa por http/https.Los mensajes SOAP también pueden enviarse por correo electrónico.

xml-rpc es más unixy.Le permite hacer cosas de forma sencilla y, cuando sabe lo que está haciendo, es muy rápido implementar servicios web de calidad, incluso cuando utiliza editores de texto de terminal.Hacer SOAP de esa manera es un zoológico;Realmente necesitas un buen IDE para que sea factible.

Sin embargo, conocer SOAP se verá mucho mejor en su currículum vitae si está compitiendo por un trabajo de TI de Fortune 500.

xml-rpc tiene algunos problemas con juegos de caracteres que no son ASCII.

XML-RPC no admite parámetros con nombre.Deben estar en el orden correcto.No estoy seguro acerca de SOAP, pero creo que sí.

Otros consejos

Solo para agregar a las otras respuestas, lo animo a que mire las representaciones textuales reales de llamadas SOAP y XML-RPC, tal vez capturando una con Ethereal.Todo el argumento "XML-RPC es más simple" no tiene mucho sentido hasta que veas lo increíblemente detallada que es una llamada SOAP.Muchos de los sitios web bastante populares evitan SOAP como API debido simplemente a la cantidad de ancho de banda que consumiría si la gente comenzara a usarlo extensamente.

Kate Rhodes tiene un gran ensayo sobre las diferencias en http://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top