2009-04-27 19 views
13

He leído que los servicios web se transmiten a través de SOAP a través de HTTP. Entonces, ¿cuál es la diferencia entre SOAP y HTTP, si ambos son protocolos de comunicación?SOAP versus HTTP

¿Hay alguna diferencia o HTTP es simplemente un enlace utilizado por SOAP?

Respuesta

36

Hay dos principales protocolos relacionados con servicios web.

  • primero, protocolos de transporte - por ejemplo, HTTP (utilizado comúnmente), TCP, UDP

  • segundo, protocolos de mensajería - por ejemplo, SOAP, XML , JSON o mensajes codificados binarios

En términos generales, los protocolos de mensajería

  • son responsables para el intercambio de los mensajes en un formato común acuerdo.
  • Los protocolos de transporte son responsables de entregar los mensajes y cómo se debe comunicar .

Un ejemplo del mundo real: HTTP es como la comunicación telefónica, SOAP es como el inglés.

Llama al servicio web a través de HTTP en mensajes SOAP, como llamar a su amigo por teléfono móvil y hablar en inglés.

10

No se transmiten los servicios web. Por el contrario, los mensajes se transmiten en formato SOAP.

SOAP al ser una especificación de protocolo para el intercambio de información estructurada puede usar casi cualquier protocolo de transporte (HTTP es el más utilizado, RPC y SMTP también se pueden usar).

En resumen, no se puede comparar HTTP y SOAP, ya que son dos cosas ortogonales. Ver Wikipedia para la introducción.

+0

HTTP definitivamente no es un protocolo de transporte. Es un protocolo de aplicación. Utiliza el protocolo de transporte TCP/IP. HTTP es mucho más que solo un protocolo de transporte. – aehlke

+1

@Wahnfrieden: HTTP es un protocolo de transporte desde el punto de vista de SOAPs. De lo contrario, tienes toda la razón. –

+0

Sí y es por eso que SOAP es algo malo :) – aehlke

7

Los servicios web no necesitan implementarse usando SOAP, y SOAP en realidad no necesita ser transmitido a través de HTTP (aunque esto es bastante raro). HTTP es el protocolo subyacente de la web, mientras que SOAP es una forma de usar XML como un sobre para llamadas RPC.

0

Http o Https es el protocolo sobre el que se ejecuta SOAP.

SOAP (Protocolo simple de acceso a objetos) está destinado para el intercambio de datos entre servidores.

los sistemas de jabón del cliente son solo otros servidores que se conectan para obtener datos del servidor maestro.

la opción oter de jabón es RPC (Remote Procedure Call)

http://en.wikipedia.org/wiki/SOAP

+0

SOAP ya es RPC. – aehlke