SOAP:  Simple Object Access Protocol

SOAP é um padrão de representação bastante leve para envelopes contendo dados que devem se mover entre o provedor e o cliente de um determinado Web Service. SOAP se baseia em XML para descrever o conteúdo da mensagem e a maneira como ela deve ser processada. Além disso, oferece também maneiras de realizar o transporte dessa mensagem através dos protocolos que já são um padrão na Web como  o HTTP (GET ou POST).

Junto com o framework aparece uma série de especificações e regras de codificação que definem o protocolo SOAP. São elas:

Um exemplo de um envelope SOAP enviado em uma requisição HTTP pode ser visto na figura abaixo:

HTTP Request

HTTP Response

A parte de cima de ambas as mensagens mostradas nas figuras são os cabeçalhos HTTP. A união do HTTP com o XML é o padrão SOAP que estamos definindo. As informações de um cabeçalho HTTP escapam do escopo deste documento e não serão tratadas aqui.

Sintaxe SOAP

Abaixo seguem algumas regras para criação de um envelope SOAP válido:

Abaixo o esqueleto de uma mensagem SOAP para ser analisado:

Os elementos principais de um envelope SOAP são:

Além do SOAP são utilizadas tecnologias de integração de serviços como CORBA e DCOM que são tecnologias proprietárias que não oferecem suporte a todo tipo de sistema operacional. Como uma maneira eficiente de comunicação através de HTTP o SOAP foi criado para facilitar a integração de sistemas diferentes com tipos de dados diferentes através da internet.