Mensagem utilizada para comunicação com um Serviço We...

Próximas questões
Com base no mesmo assunto
Q445762 Arquitetura de Software
Mensagem utilizada para comunicação com um Serviço Web (Web Service), implementado com o protocolo SOAP 1.2.

< soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope">

< soap:Header>
   < m:Trans xmlns:m=http://www.w3schools.com/transaction/
soap:mustUnderstand="false" >234 < /m:Trans >
< /soap:Header>

< soap:Body xmlns:m="http://www.example.org/stock" >
  < m:GetStockPrice >
    < m:StockName>IBM
  < /m:GetStockPrice >
< /soap:Body >

< /soap:Envelope >

O(s) elemento(s) que pode(m) ser retirado(s) da mensagem, de acordo com a especificação do protocolo SOAP, sem prejuízo para a comunicação com o Serviço Web, é/são:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta Correta: D - soap:Header

Ao abordar a estrutura de uma mensagem SOAP, a questão explora o conhecimento do protocolo utilizado para a comunicação entre aplicações em ambientes distribuídos, especificamente em serviços web. SOAP, que significa Simple Object Access Protocol, é um protocolo baseado em XML para acessar serviços web principalmente por HTTP. A estrutura de uma mensagem SOAP é composta por três partes principais:

  • soap:Envelope: É o elemento raiz que define o início e o fim de uma mensagem SOAP. É obrigatório em todas as mensagens SOAP, pois fornece um framework para descrever o que está na mensagem e como processá-la.
  • soap:Header: É um elemento opcional que contém informações de cabeçalho da aplicação. São metadados para o processamento da mensagem, como autenticação, transações, etc. Não é obrigatório, e a mensagem pode ser processada sem ele, desde que estas informações adicionais não sejam necessárias.
  • soap:Body: É o elemento que contém os dados da chamada e resposta da operação do serviço web. É um componente obrigatório da mensagem SOAP, pois aqui é onde as informações necessárias para a chamada do serviço são definidas.

O atributo soap:mustUnderstand="false" no elemento soap:Header indica que, se o receptor encontrar um cabeçalho desconhecido ou não suportado, ele pode ignorar esse cabeçalho e ainda assim processar a mensagem. Isso sugere que o soap:Header não é essencial para o processamento da mensagem e pode ser excluído sem prejudicar a comunicação entre o cliente e o serviço web. Portanto, a alternativa D é a correta porque o soap:Header é o único elemento que pode ser retirado sem prejuízo para a comunicação com o Serviço Web, de acordo com as especificações do protocolo SOAP.

Importante notar que tanto o soap:Envelope quanto o soap:Body são indispensáveis para a estrutura da mensagem SOAP, uma vez que sem o Envelope não há a definição da mensagem e sem o Body, não haveria conteúdo para ser transmitido ou instruções para serem executadas pelo serviço.

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

O SOAP, definido pela W3C, consiste basicamente dos elementos descritos abaixo:

 Envelope: toda mensagem SOAP deve contê-lo. É o elemento raiz do documento XML. O Envelope pode conter declarações de namespaces e também atributos adicionais como o que define o estilo de codificação – que define como os dados são representados no documento XML. É obrigatório.

 Header: é um cabeçalho opcional. Ele carrega informações adicionais, por exemplo: se a mensagem deve ser processada por um determinado nó intermediário. Quando utilizado, o Header deve ser o primeiro elemento do Envelope. É opcional. 

 Body: Este elemento é obrigatório e contém o payload ou os dados de fato a serem transportados para o seu destino final. O elemento Body pode conter um elemento opcional Fault, usado para carregar mensagens de status e erros retornadas pelos nós ao processarem a mensagem. É obrigatório. 


Fonte: Apostila Estratégia - Prof. Diego Carvalho

SOAP 1.1

-<s: Envelope> (Obrigatório)
-  <s:Header> (Opcional)
-  <s:Body> (Obrigatório)
-    <s: Fault> (Opcional)
-       <faultCODE></faultcode>(Obrigatório)
-       <faultSTRING></faultstring>(Obrigatório)
-       <faultACTOR></faultactor> (Opcional)
-       <details></details> (Opcional)

 

OBS: Não pode existir mais de um elemento Fault dentro de Body.

 musUnderstand: especifica se uma entrada de cabeçalho é obrigatória ou opcional nesse caso está com valor =false

Elementos obrigatórios: Envelope e Body,

Elementos opcionaisHeader e Fault (faz parte do Body).

Lembrando que devemos sempre utilizar os seguintes namespaces:

xmlns:soap="http://www.w3.org/2003/05/soap-envelope/

soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo