 VB.
NET - Consumindo Web Services com Windows Forms
VB.
NET - Consumindo Web Services com Windows Forms
Em meu artigo ASP. NET 2008 - Criando Web Services II 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 ao lado 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 projetoe 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 a janela Service Reference Settings 
    e efetuar ajustes na configuração. Na janela de configuração existe o botão Add Web Reference que remete a 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 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
consumindoWS_WF.zip
Eu sei é apenas VB .NET, mas eu
gosto... 
Referências:
José Carlos Macoratti