SOAP es un protocolo basado en XML, simple y ligero, para el intercambio de información estructurada en la Web. El objetivo global de diseño de SOAP es mantenerlo tan simple como sea posible y poner a disposición un mínimo de funcionalidad.
El protocolo define un marco para el intercambio de mensajes. Se trata de un protocolo modular y muy extensible.
Viajando a través de protocolos estándares de transporte, SOAP es capaz de apalancar las arquitecturas abiertas existentes en Internet y ganar fácilmente la aceptación de cualquier sistema arbitrario capaz de soportar los estándares más básicos de Internet.
Se podría ver la infraestructura requerida para soportar servicios Web XML bajo SOAP como algo simplistas, aunque potentes, ya que SOAP añade relativamente poco a la infraestructura existente en Internet y aún y todo facilita acceso universal a los servicios construidos bajo SOAP.
La especificación del protocolo SOAP consiste en cuatro partes principales. La primera de ellas define una parte extensible obligatoria que encapsula los datos. Define un mensaje SOAP y es la unidad básica de intercambio entre procesadores de mensajes SOAP. Es la única parte obligatoria de la especificación.
La segunda parte de la especificación de SOAP define reglas opcionales de codificación de datos para representar los tipos de datos y grafos definidos por las aplicaciones y un modelo uniforme para serializar modelos no sintácticos de datos.
La tercera parte define un patrón de intercambio de mensajes. Cada mensaje SOAP es un transmisión en un solo sentido. La cuarta parte de la especificación define una unión entre SOAP y http. Sin embargo esta opción es también opcional. Se puede usar SOAP en combinación con cualquier protocolo o mecanismo de transporte.
Fuente: Apuntes de informática III, Escuela Superior de Ingenieros de la Universidad de Navarra.