Mensagens SOAP e a estrutura de um envelope XML
Gabarito: letra B. O código XML apresentado é uma mensagem SOAP, pois contém o elemento raiz <Envelope> no namespace http://schemas.xmlsoap.org/soap/envelope/, seguido dos elementos <Header> e <Body> — estrutura típica do protocolo SOAP. As demais alternativas confundem SOAP com outras tecnologias de serviços web (HTTP, UDDI, WSDL, REST).
O SOAP (Simple Object Access Protocol) é um protocolo de comunicação baseado em XML, utilizado para troca de mensagens entre sistemas em uma arquitetura orientada a serviços (SOA). A mensagem SOAP é estruturada em um envelope, que contém duas partes principais: o cabeçalho (<Header>), opcional, usado para informações de contexto (autenticação, transações, etc.), e o corpo (<Body>), que carrega os dados da chamada ou da resposta. O namespace http://schemas.xmlsoap.org/soap/envelope/ identifica o padrão SOAP 1.1; na versão 1.2, o namespace é http://www.w3.org/2003/05/soap-envelope.
A mensagem SOAP é transportada por protocolos como HTTP, SMTP ou TCP, mas o envelope XML é a assinatura que a distingue de outras mensagens. Por exemplo, uma requisição SOAP para um serviço de calculadora poderia ser:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Somar xmlns="http://tempuri.org/">
<a>5</a>
<b>3</b>
</Somar>
</soap:Body>
</soap:Envelope>
Aqui, o envelope define o invólucro, o corpo contém a operação e os parâmetros. Essa estrutura é padronizada e independe da plataforma, o que permite a interoperabilidade entre sistemas diferentes.
É comum confundir SOAP com WSDL, UDDI e REST. O WSDL (Web Services Description Language) é um documento XML que descreve a interface do serviço (operações, mensagens, portas), não a mensagem em si. O UDDI (Universal Description, Discovery and Integration) é um registro para publicar e descobrir serviços web. O REST é um estilo arquitetural que usa HTTP diretamente, geralmente com JSON, sem envelope SOAP. Já o HTTP é o protocolo de transporte, não o formato da mensagem.
A pegadinha da banca está em oferecer alternativas que são tecnologias relacionadas a serviços web, mas que não correspondem à estrutura XML mostrada. O candidato que conhece a anatomia do envelope SOAP identifica imediatamente a resposta correta.
Alternativa A — ❌ Incorreta
HTTP (Hypertext Transfer Protocol) é um protocolo de comunicação usado para transferir dados na web, mas não é uma mensagem XML. A alternativa tenta confundir o transporte (HTTP) com o conteúdo (SOAP). Uma mensagem SOAP pode ser enviada via HTTP, mas o código XML em si não é uma mensagem HTTP.
Alternativa B — ✅ Correta ⟵ GABARITO
O código apresenta o elemento raiz <Envelope> com o namespace SOAP, seguido de <Header> e <Body>. Essa é a estrutura padrão de uma mensagem SOAP, conforme definido na especificação do W3C. O namespace http://schemas.xmlsoap.org/soap/envelope/ é a assinatura característica do SOAP 1.1.
Alternativa C — ❌ Incorreta
UDDI (Universal Description, Discovery and Integration) é um registro baseado em XML para publicar e descobrir serviços web. Não é uma mensagem, mas um diretório. O código não contém elementos típicos de UDDI, como businessEntity ou businessService.
Alternativa D — ❌ Incorreta
WSDL (Web Services Description Language) é um documento XML que descreve a interface de um serviço web, incluindo operações, mensagens e portas. O código mostrado não é um WSDL, pois não possui elementos como definitions, types, message, portType ou binding. É uma mensagem SOAP, não uma descrição de serviço.
Alternativa E — ❌ Incorreta
REST (Representational State Transfer) é um estilo arquitetural que utiliza HTTP diretamente, geralmente com JSON ou XML simples, sem envelope SOAP. O código com <Envelope> e namespace SOAP não é uma mensagem REST. REST não define um envelope padrão; cada recurso é acessado por URI e métodos HTTP.
Gabarito: letra B — o código é uma mensagem SOAP, identificada pelo envelope com namespace SOAP e pelos elementos Header e Body.