Definiçõess básica do SOAP:
-SOAP, originado do acrônimo inglês Simple Object Access Protocol, e em português Protocolo Simples de Acesso a Objetos, é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída. (WIKIPEDIA).
-SOAP está se tornando padrão para a troca de mensagens entre aplicações e Web Services, já que é uma tecnologia construída com base em XML e HTTP.
É um procolo projetado para invocar aplicações remotas através de RPC (Chamadas Remotas de Procedimento) ou trocas de mensagens, em um ambiente independente de plataforma e linguagem de programação. SOAP é, portanto, um padrão normalmente aceito para utilizar-se com Web Services. Desta forma, pretende-se garantir a interoperabilidade e intercomunicação entre diferentes sistemas, através da utilização de uma linguagem (XML) e mecanismo de transporte (HTTP) padrões. (http://www.gta.ufrj.br/grad/07_2/daniel/index.html)
ESTRUTURA:
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 (encoding style).Um "encoding style" define como os dados são representados no documento XML.
Header: É um cabeçalho opcional. Ele carrega informações adicionais, como por exemplo, se a mensagem deve ser processada por um determinado nó intermediário (É importante lembrar que, ao trafegar pela rede, a mensagem normalmente passa por diversos pontos intermediários, até alcançar o destino final). Quando utilizado, o Header deve ser o primeiro elemento do Envelope.
Body: Este elemento é obrigatório e contém o payload, ou a informação a ser transportada 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.
Fonte:(http://www.gta.ufrj.br/grad/07_2/daniel/index.html)
Continuando...
Analisando a questão:
a) deve conter obrigatoriamente os elementos Header, Body e Fault para que a mesma seja entendida e processada pelo servidor de aplicação. FALSO. O Header e o Fault não são obrigatórios, conforme supracitado.
b) apresenta obrigatoriamente o elemento Body, que obrigatoriamente deve conter o corpo do elemento Fault, que contém informações de status e de erros. FALSO. Conforme citado acima, o elemento BODY é obrigatório, entretanto o FAULT não exige obrigatoriedade.
c) pode apresentar o elemento Envelope, já que este é opcional. FALSO. O envelope é obrigatório.
d) é um documento XML, mas pode ser codificado utilizando Java. FALSO. É definida em um documento XML, entretanto, a afirmação perde o sentido quando se diz que pode ser codificada em linguagem Java
e) apresenta um componente para armazenar a resposta da aplicação executada no servidor. VERDADEIRO. O componente FAULT pode ser utilizado dentro do BODY para armazenar a resposta da execução no servidor.
Para complementar um exemplo da estrutura de um código SOAP segundo orientação da W3Schools:
<SOAP-ENV:envelope>
<!— Elemento raiz do SOAP e define que essa é uma mensagem SOAP-->
<SOAP-ENV:header>
<!—Especifica informações especificas como autenticação (opcional)-->
</SOAP-ENV:header>
<SOAP-ENV:body>
<!—O elemento BODY contém o corpo da mensagem-->
<SOAP-ENV:fault>
<!—O elemento FAULT contém os erros que podem ocorrer-->
</SOAP-ENV:fault>
</SOAP-ENV:body>
</SOAP-ENV:envelope>