Arquivo da tag: XML

ASP.NET XML webservices


Hoje falaremos sobre XML webservices, um pouca da sua história e o objetivo dele ter sido desenvolvido e estaremos criando e consumindo um ao final deste artigo.

Simplificando a utilidade dos webservices teremos uma explicação simples que é a integração de sistemas distintos mas que precisam trocar informações.
Antigamente essa integração era feita via RPC ( Remote Procedure Call ) e depois evoluiu para RPC – over http no qual utilizava a porta 143 para se comunicar. A tecnologia RPC tem vários problemas, são eles:

• A data dos sistemas que estão tentando trocar informações devem estar sincronizadas, isto é, exatamente iguais.
• Existiam muitas diferenças na linguagem quando os sistemas eram diferentes.
• As chamadas eram síncronas.

Portanto para acabar com todos esses problemas foi criado o webservices utilizando o XML como linguagem de comunicação. O XML foi implantado e padronizado pela W3C.

Existem alguns itens que são importantes saber para criarmos um webservices:

WSDL – Web Service Description Language – Nele estão descriminados todos os pontos de entrada, descrição de classes, métodos e outras informações. ( Ele é criado de acordo com as regras da W3C)

DISCO – Discovery – Armazena os contratos com relação ao webservices ( Ele é gerado somente por webservices da Microsoft)

UDDI – WWW.uddi.org – Funciona como as páginas amarelas dos webservices onde você pode cadastrar o seu webservices e disponibiliza-lo ao público e também achar e consumir algum do seu interesse.

SOAP – Simple Object Access Protocol – É a linguagem que os webservices utilizam para trafegar as informações entre eles.

Existem 2 tipos de chamadas quando estamos consumindo um webservices

1. Direct call – Chamadas feitas direto do browser para o webservices.
2. Proxy call – Aplicação fazendo chamadas para o webservices onde não tem uma camada de apresentação.

Bom, agora vamos botar a mão na massa e criar e consumir nosso webservices.

Vamos abrir o Visual Studio 2008 SP 1 e criar um projeto do tipo ASP.NET Web Services application.

Iremos perceber que ele já criou um WebMethod de exemplo quer se chamarmos ele irá nos retornar um “Hello World”.

Agora vamos criar um método nosso onde ele irá receber 2 numeros, fazer a soma deles e retornar o resultado.

Nosso código ficará assim:

Simplesmente fazendo isso nós já temos nosso webservices pronto para funcionar. Lembrando que o webservices é como se fosse um website então se quisermos botar para funcionar devemos simplesmente criar o diretório virtual no IIS, mas como estão rodando nossa aplicação no VS 2008 ele criará o web Server virtual para nós.

Iremos criar agora uma aplicação web e montar nossa tela de input. Vamos adicionar um projeto a nossa solução

Nossa tela ficará assim:

De um Build na solução para ver se não tem nenhum erro.

Agora iremos adicionar a referencia do nosso WebService ao nosso projeto web para que possamos consumir e chamar o método que criamos.

Para adicionar a referencia, clique com o botão direito em cima do projeto web no solution Explorer e clique em Add Service Reference

Depois na próxima tela clique em Discovery , selecione o nosso webservices que ele achou automaticamente e clique em OK.

Feito isso iremos programar um pouco.
De um duplo clique no botão da tela e insira o seguinte código:

Agora podemos rodar nossa aplicação e testar nossa “super” calculadora.

Boa sorte a todos e qualquer dúvida pode perguntar.

Abraços

Lineker Tomazeli