Prezados,
Estou iniciando em Web Services…Gostaria de saber a diferença entre WSDL e SOAP, pois li alguns tópicos aki no GUJ e não intendi.
Se possível alguem postar um exemplos dos dois sendo usados juntos…
Definições:
SOAP é um procolo projetado para invocar aplicações remotas através um ambiente independente de plataforma e linguagem de programação.
WSDL é uma linguagem baseada em XML, utilizada para descrever um Web Service.
Meu intendimento (90% de certeza que está errado):
Tenho um método que quero disponibizar como serviço, então crio um WSDL para distribuir publicamente…
A partir desse WSDL é possível preencher os parametros do meu método etc…para chamar o serviço.
Após chamar o serviço, é retornado um novo WSDL com a resposta? Onde o SOAP entra nisso?
SOAP - Simple Object Access Protocol - É um protocolo lógico de integração (convenção), cujo o propósito é trafegar o grafo de objetos entre protocolos físiscos distintos. Ou seja, ele servirá para integrar o HTTP com JMS por exemplo.
Você não precisa do WSDL para fazer requisições a serviços e trocar mensagens com o mesmo. O SOAP poderia carregar as mensagens, sem nenhum problema, mas Quais Mensagens meu serviço suporta ? Quem tem permissão de fazer essas consultas ?
O WSDL - Web Service Description Language, nasceu para descrever como se dá essa integração. O que o serviço vai receber como parâmetro de entrada e o que ele irá retornar. Especificar isso é o papel do WSDL, que normalmente utiliza o SOAP para trafegar as mensagens.
Se tiver com muitas dúvidas, fique esperto com os nossos minicursos, que são gratuítos e explicam muita coisa bacana em 3 horas. Devemos rodar um desse dia 19 de Novembro.
Pra ficar sabendo, é só acompanhar nosso twitter: @soaexpertbr
Obrigado Ueshiba Kenobi Sensei;)
Deu pra ter uma idéia sobre o funcionamento disso, então basicamente o WSDL utiliza SOAP por baixo dos panos para troca de mensagems com o servidor do mesmo jeito que Http utiliza TCP/IP…
É mais ou menos isso?
Caso seja, quando eu enviei um WSDL…a resposta que o servidor deveria me dar teria de ser em WSDL também…ou não?
Nesse caso a resposta veio em SOAP?
InsaneChess, o WSDL nada mais é um contrato que contém as especificações de um seviço. Um SOAP é um envelope em formato XML, XSD, que será montado pelo seu client ao efetuar uma requisição de um serviço com nome de métodos, parâmetros e sempre será retornado para o client pelo server, independente do tipo de resposta, se ocorreu uma falha em uma transação do seu serviço etc.