Uma mensagem SOAP é estruturada em um SOAP envelope, que con...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: C - no máximo um elemento SOAP header e exatamente um elemento SOAP body
Vamos entender o SOAP (Simple Object Access Protocol), que é um protocolo projetado para troca de informações estruturadas em um ambiente distribuído e descentralizado. Uma mensagem SOAP é uma estrutura de dados XML que pode ser enviada por diversos protocolos, como HTTP e SMTP.
Uma mensagem SOAP é composta por um envelope, que é o elemento raiz de uma mensagem SOAP. Este envelope contém dois subelementos principais:
- SOAP Header: Este é um elemento opcional que pode ser utilizado para transportar informação de controle e de roteamento. Ele fornece a flexibilidade de adicionar extensões que podem ser usadas em diversas tarefas, como autenticação, transações e outros metadados.
- SOAP Body: Este é um elemento obrigatório que contém o conteúdo real da mensagem, como a chamada a um método ou a resposta de um serviço.
Vamos analisar as alternativas e entender por que a alternativa C é a correta:
Alternativa A: "exatamente um elemento SOAP header e no máximo um elemento SOAP body" está incorreta porque o elemento SOAP Header é opcional e não obrigatório.
Alternativa B: "exatamente um elemento SOAP header e zero ou mais elementos SOAP body" está incorreta porque além do elemento SOAP Header não ser obrigatório, o elemento SOAP Body deve ser único e não pode haver múltiplos elementos SOAP Body.
Alternativa C: "no máximo um elemento SOAP header e exatamente um elemento SOAP body" está correta. Essa alternativa reflete a estrutura correta de uma mensagem SOAP, onde o header é opcional (podendo haver no máximo um) e o body é obrigatório, sendo sempre único.
Alternativa D: "no máximo um elemento SOAP header e zero ou um elemento SOAP body" está incorreta porque o elemento SOAP Body é obrigatório e deve estar presente exatamente uma vez.
Alternativa E: "um ou mais elementos SOAP header e um ou mais elementos SOAP body" está incorreta porque pode haver no máximo um header e o body é sempre único.
Portanto, a estrutura correta de uma mensagem SOAP é a descrita na alternativa C, com no máximo um elemento SOAP header opcional e exatamente um elemento SOAP body obrigatório.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
env:Envelope
(mandatory), namely an env:Header
(optional) and an env:Body
(mandatory).
The SOAP Header Element
The optional SOAP Header element contains application-specific information (like authentication, payment, etc) about the SOAP message.
If the Header element is present, it must be the first child element of the Envelope element.
The SOAP Body Element
The required SOAP Body element contains the actual SOAP message intended for the ultimate endpoint of the message.
Immediate child elements of the SOAP Body element may be namespace-qualified.
FONTE: http://www.w3schools.com/xml/xml_soap.asp
sabendo que o body é obrigatório, por eliminação mata a questão.
O elemento SOAP Header opcional contém informações específicas do aplicativo (como autenticação, pagamento, etc.) sobre a mensagem SOAP.
Se o elemento Header estiver presente, ele deverá ser o primeiro elemento filho do elemento Envelope.
O elemento SOAP Body O elemento SOAP Body necessário contém a mensagem SOAP real destinada ao terminal final da mensagem.
Elementos filho imediatos do elemento SOAP Body podem ser qualificados por namespace.
Envelope (obrigatório) - É o elemento raiz da mensagem. É este elemento que define a mensagem em questão como uma mensagem SOAP.
Header (opcional) - Contém informações específicas da aplicação como autenticação por exemplo. Se este elemento existir ele deve ser o primeiro elemento do envelope.
Body (obrigatório) - Carrega a informação real do envelope SOAP destinada ao serviço.
Fault (opcional) - Carrega informações de erros com o envelope SOAP.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo