2013-2 Programação de Sistemas Distribuídos e Concorrência
Programação de Sistemas
Distribuídos e Concorrência
Aula 6
Prof: Carlos Eduardo de Carvalho Dantas
http://carloseduardoxp.wordpress.com
“Ensinar é aprender duas vezes.” – Joseph Joubert
2013-2 Programação de Sistemas Distribuídos e Concorrência
Namespaces XML
Usados para diferenciar uma tag XML de outra
Ex: sem namespaces
Com namespaces
2013-2 Programação de Sistemas Distribuídos e Concorrência
Namespaces XML
Usados para diferenciar uma tag XML de outra
Ex: sem namespaces
Com namespaces
2013-2 Programação de Sistemas Distribuídos e Concorrência
Namespaces XML
No exemplo do Soap-Ui (aula passada), foi criado um
namespace referenciado pelo prefixo ser
2013-2 Programação de Sistemas Distribuídos e Concorrência
Soap
Simple Object Access Protocol, criado e mantido pelo
World Wide Web Consortium (W3C);
O elemento envelope é um container para os
elementos Header e Body;
O elemento Header contém metadados da requisição
como autenticação e endereço de retorno;
O elemeto Body contém nome, parâmetros.
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL - seções
Possui 5 seções bem definidas: Types, Message,
portType, binding e Service
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – Complex Type
A criação de uma classe leva à criação de um
complex Type em Wsdl (Xml Schema)
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – Complex Type
O Complex Type é como se fosse a definição de uma
classe
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL - messages
A sessão messages amarra os elementos para
compor os dados que irão trafegar o serviço;
Para cada método são geradas as mensagens de
requisição e resposta
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – port-type
A sessão port-type contém a definição das operações
do serviço em questão, como Request-Response,
one-way, solicit-response e notification
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – distinção entre
elementos Os elementos types, message e port-type são
obrigatórios e definem o modelo de mensagens,
configurando um WSDL Abstrato, podendo ser
utilizado em protocolos como SOAP ou REST;
Os elementos binding e service não são obrigatórios,
e vinculam os detalhes sobre como este serviço será
trafegado.
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL - binding
O elemento binding vincula o serviço a um protocolo
de aplicação, como por exemplo SOAP, através da
tag soap:binding;
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – submodelos de
transporte Document/literal style;
Document/literal wrapped style;
Document/encoded style;
RPC/literal style;
RPC/encoded style.
Document trafega apenas os parâmetros das
solicitações;
RPC emprega o nome do método definido no WSDL
2013-2 Programação de Sistemas Distribuídos e Concorrência
WSDL – Service
Informa qual é o endereço que o envelope SOAP
deverá ser enviado.
2013-2 Programação de Sistemas Distribuídos e Concorrência
Configuração JaxB
Mapeamento do XmlAcessorType
2013-2 Programação de Sistemas Distribuídos e Concorrência
Configuração JaxB - sobrecarga
Configurar retorno
2013-2 Programação de Sistemas Distribuídos e Concorrência
Configuração JaxB - sobrecarga
Configurar retorno (repare as seções binding e
portType para a nova WSDL gerada)
2013-2 Programação de Sistemas Distribuídos e Concorrência
Execução da Web Service
O servidor HTTP habilitado na porta 8080 recebe a
requisição e identificou que o contexto é teste;
O contexto teste está ligado à uma instância da cl
asse service.Servico no Servidor;
Ao mandar a tag ser:getCliente em body, mostramos
que é uma requisição de buscar o cliente, sem
parâmetro;
O servidor extrai o conteúdo de body e faz o parsing
do conteúdo para objetos (usando JaxB).
Top Related