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
Eu sei é apenas VB .NET, mas eu gosto...
Referências:
José Carlos Macoratti