Inquiridor
Criação de WebService

Pergunta
-
Pessoal, o negócio é o seguinte....
Estou desenvolvento uma aplicação e vou precisar de um webservice para gerar um numero de protocolo.
A ideia é transmitir os dados (da pessoa e solicitação) para o WebService, a partir daí, tratar as informações diretamente no webservice.
Desculpem, mas isto é novidade para mim, pois não sei como fazer isto. Eu fiz alguns "HelloWords" que recebia parametros e pronto, no entanto, agora queria utilizar XML+SOAP para realizar a transmissão dos dados.
Alguém teria algum exemplo simples o qual eu possa me basear?
Apenas para constar, utilizo VB 2010.
- Movido Seilor Bonancio Junior sexta-feira, 5 de abril de 2013 12:53
Todas as Respostas
-
Ives recentemente fiz um webservice, se vc for consumi-lo com uma aplicação asp.net o soap até dá certo, mais se vc vai consumi-lo em outra aplicação eu sugiro que vc não use soap, vc pode colocar no seu metodo o usuario e senha e testa no metodo. veja essa link tem até algumas duvidas que tirei com o autor o Raphael.
http://csharpbrasil.com.br/csharp/criando-um-web-service-seguro-com-soapheader/
Se vc vai fazer um metodo so para exibir uma forma muito fácil é usar wcf é moleza.
Junior
-
Olá Ives,
Não sou especialista no assunto, mas ao longo do tempo precisei consumir e desenvolver web services usando SOAP em diversas plataformas, como Delphi, .NET e Java e sempre me atendeu muito bem, tanto para aplicações na mesma plataforma quanto em plataformas distintas (Delphi -> .Net, .Net -> Delphi -> Java).
Se você planeja transmitir dados simples, comuns para todas as plataformas, como strings, inteiros, etc... essa solução cai bem.
Se você planeja transmitir objetos complexos ou específicos do .Net, o WCF mencionado pelo Junior é a melhor opção, pois com ele você consegue centralizar as suas classes por meios de "contratos" e utilizá-las na aplicação que irá consumi-lo.
Abraços.
-
Este webservice que estou criando vai ser "publico" mediante autenticação.
Não tenho como controlar qual plataforma o cliente vai utilizar para o acesso.
Vocês acreditam que usar o SoapHeader não seja interessante?
O Exemplo que o Junior postou eu fiz perfeitamente, funcionou 100%, no entanto, como faço esta requisição em PHP, VB6, por exemplo? Não consegui pois tem que passar objeto "usuario".
-
-
Ives,
Da mesma forma que a codificação para consumir um web service em cada plataforma é distinta nesse caso também será.
Não trabalho com o PHP e VB6, mas se tratando de ws SOAP não tenho dúvidas que deve haver algumas maneiras.
Porém, a solução que o Junior passou acaba sendo mais tranquila de se trabalhar e poupa os "futuros clientes" desse mesmo problema que está tendo.
Estes topicos em PHP não ajudam?
http://stackoverflow.com/questions/4393193/setting-soap-headers-when-using-wsdl-in-php
http://docs.php.net/manual/en/soapclient.soapclient.php
Dica: uma forma de testar os web services independentemente da plataforma cliente é utilizando o SOAPUI.
Abraços.
- Editado Diego Cotini quarta-feira, 3 de abril de 2013 17:50
-
Seguindo a ideia que vocês deram, eu fiz com que a autenticação se desse por passagem de parâmetros e funcionou perfeitamente.
Agora, me surgiu uma outra duvida.
Estou fazendo uma aplicação para consumir este web service, tenho acesso por http e https, no entanto só consigo via http.
Quando utilizo o https, ele diz que esperava por http.
Existe alguma configuração que eu deva fazer para que a referencia de serviço funcione nesta situação?
Estou usando VB.NET Framework 4.0
-
Olá,
Não tenho muitos conhecimentos nessa parte de certificados.
Fiz somente uma vez a configuração/instalação de um certificado digital no IIS para possibilitar a utilização do protocolo HTTPS.
Após a instalação/configuração do certificado, as páginas e web services hospedados no IIS passaram a aceitar o HTTPS sem precisar de nenhuma alteração ou configuração nestes.
Você já instalou e configurou o Certificado Digital no IIS do servidor que hospeda o web service?
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications