Pular para o conteúdo principal

Questão de Programação — Linguagens de marcação — FUNDATEC 2023

ProgramaçãoLinguagens de marcação
Código
qq890534
Banca
FUNDATEC
Órgão
CIGA-SC
Ano
2023
Nível
Médio
Cargo
Proramador
Analise o código XML abaixo:Imagem associada para resolução da questãoO código XML apresentado é:
  1. AUma mensagem HTTP 3.0.
  2. BUma mensagem SOAP.
  3. CUma mensagem UDDI.
  4. DUm envelope WSDL.
  5. EUm envelope REST.
Revelar gabarito e comentário

GabaritoB — Uma mensagem SOAP.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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.

Link permanente: /questoes/qq890534