SóProvas


ID
1029913
Banca
CESPE / CEBRASPE
Órgão
TCE-RO
Ano
2013
Provas
Disciplina
Arquitetura de Software
Assuntos

Acerca de service-oriented architeture, julgue os itens subsequentes, considerando que SOAP corresponde a simple object access protocol e WSDL corresponde a web services description language.

As mensagens SOAP são transmitidas em formato XML, cujo envelope é composto de cabeçalho e corpo. Apenas o cabeçalho é opcional, e, quando preenchido, é necessariamente composto de rota, dados de segurança, origem e destino.

Alternativas
Comentários
  • Mensagem SOAP:

     

    -Envelope: elemento raiz da mensagem SOAP (obrigatório).

    -Cabeçalho: contém informação de controle e processamento (opcional)

    -Corpo: contém informação da chamada e da resposta (obrigatório)

    -Fault: informações e status de erro (opcional).

    Além do Cabeçalho, as informações de status também são opcionais.

    Resposta: Errado

  • Complementando o comentário do colega:

    "Apenas o cabeçalho é opcional, e, quando preenchido, é necessariamente composto de rota, dados de segurança, origem e destino."

    O trecho sublinhado está incorreto, pois o cabeçalho (header) de uma mensagem soap não precisa conter essas informações. Ele pode sim, conter informações sobre nós intermediários (mas não precisa ser a rota completa), pode conter dados de segurança [4], dados de autenticação [1], e pode conter informações do nó final (nó de destino). Somente nós intermediários e finais são especificados no cabeçalho. Desconheço o fato de o nó de origem estar contido nesse elemento. Além disso, a questão afirma que necessariamente o cabeçalho deve conter esses quatro tipos de informações, quando na verdade, o cabeçalho poderia conter somente a indicação de segurança,  ou somente especificação de nó de destino, ou seja, esses itens podem ser utilizados isoladamente.

    Em geral, o elemento header possui subelementos dentro dele e pode vir com os seguintes atributos:

    - MustUnderstand [1, 3]: pode ser expresso com o valor true ou false. Se true, indica que os nós obrigatoriamente devem processar os blocos header, ou seja, processar os subelementos que estiverem contidos no elemento header.

    - Actor (v1.1 do soap) [1, 3] ou Role (v1.2 do soap) [2]: indica os nós, intermediários ou finais, que devem processar o cabeçalho, isto é, o elemento header da mensagem.

    - EncodingStyle [1, 3]: indica as regras utilizadas para codificar partes da mensagem soap

    - relay (somente v1.2 do soap) [2]: Ao processar o elemento header de uma mensagem SOAP, os nós intermediários removem esses blocos header (subelementos de header) da mensagem, assim como, aqueles subelementos que eles não processaram porque estavam com o atributo mustUnderstand com o valor "false". Para impedir que esses blocos não processados sejam removidos da mensagem SOAP, pelos nós intermediários, o atributo relay é especificado com o valor "true".

    Um exemplo de cabeçalho de segurança seria [4]:

    <soapenv:Envelope xmlns:soapenv=
      "http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header>
      <wsse:Security xmlns:wsse="http://docs.oasis-
    open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-
    1.0.xsd" soapenv:mustUnderstand="1">
      <wsu:Timestamp xmlns:wsu="http://docs.oasis-
    open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
    1.0.xsd" wsu:Id="Timestamp-29987161">
      <wsu:Created>2006-06-19T16:22:28.578Z</wsu:Created>
      <wsu:Expires>2006-06-19T16:27:28.578Z</wsu:Expires>
      </wsu:Timestamp>
      </wsse:Security>
      </soapenv:Header>

      <soapenv:Body> ...   </soapenv:Body>

    </soapenv:Envelope>


    Tentei encontrar referências em português para indicar aqui, mas achei a maioria em inglês:

    [1] http://docs.oracle.com/cd/B40099_02/books/EAI2/EAI2_WebServices33.html
    [2] phttp://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=%2Fcom.ibm.cics.ts31.doc%2Fdfhws%2Fconcepts%2Fsoap%2Fdfhws_header.htm
    [3] http://www.w3schools.com/webservices/ws_soap_header.asp

    [4] http://www.ibm.com/developerworks/br/webservices/tutorials/ws-understand-web-services4/index.html?ca=dat

    A melhor referência para estudar esses assuntos sem consumir muito tempo são as vídeo-aulas de SOA do site http://www.provasdeti.com.br/. As aulas abordam todos esses assuntos e são de excelente qualidade.

    Abraço.