.NET

13 ago, 2009

VB. NET – Consumindo Web Services com Windows Forms

Publicidade

Em meu artigo anterior, Criando Web Services, mostrei como é fácil criar Web Services na
plataforma .NET, mesmo usando uma ferramenta gratuita como o
Visual Web
Developer 2008 Express Edition.

Neste artigo vou mostrar como consumir o web
service criado em uma aplicação WIndows Forms criada no
Visual Basic 2008 Express Edition.

Nota: Por razões didáticas
eu alterei o nome do web service criado no artigo citado de Service.asmx
para getProdutosService.asmx.

A
figura abaixo mostra como ficou o projeto com o novo nome. Isso não alterou
em nada a funcionalidade criada.

Abra o Visual Basic 2008 Express Edition e crie um
novo projeto do tipo Windows Forms Application usando a linguagem Visual
Basic com o nome consumindoWS.

Na janela Solution
Explorer clique com o botão direito do mouse sobre o nome do projeto e
selecione a opção Add Service Reference.

Na janela Add Service Reference informe na
caixa Address a URL do nosso web service. Abaixo temos a informação (já
com o nome alterado).

Observe que o serviço e a operação foram
identificados. Clique no botão OK.

Você pode também clicar no botão
Advanced… para ter acesso à janela Service Reference Settings
e efetuar ajustes na configuração.

Na
janela de configuração existe o botão Add Web Reference que remete à
mesma janela que usada para referenciar o web service na aplicação ASP .NET.

Neste momento a janela
Solution Explorer irá exibir a referência ao web service criado na pasta
Web References:

Selecione o formulário form1.vb e a partir da
ToolBox inclua um componente DataGridView no formulário.

Nota:
Uma outra forma de incluir uma referência ao web service é através da opção
Choose Data Source do DataGridView.

Em seguida, clicando na opção – Add Project
Data Source… iremos para a janela Data Source Configuration Wizard
onde vemos a opção Service e Web Service.

Selecinando a opção Service e clicando em
Next> teremos a janela Add Service Reference:

Em seguida vamos referenciar o web service através
da declaração: Imports
consumindoWS.WS_getProdutos.

Vamos declarar também o namespace System.Data:
Imports
System.Data.

No evento Load do formulário inclua o código
abaixo:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ws As New getProdutosService
Dim ds As DataSet
ds = ws.getProdutos(10)
DataGridView1.DataSource = ds.Tables(0)
End Sub

Criamos a instância do serviço e um dataset.

Usando a instância do serviço usamos o método
getProdutos() para obter um dataset contendo os 10 produtos da tabela.

Exibimos o dataset no grid do formulário:

Simples e prático!!!

Pegue o projeto completo aqui:
consumindoWS_WF.zip

Eu sei, é apenas VB .NET, mas eu
gosto…