O primeiro passo é criar o seu WebService.
Para isso abra o seu Visual Studio e crie um novo projeto do tipo WebService Application.
Mude o seu nome para WebTeste.
2. Após criar o seu Ws. Você deverá criar um novo método para retornar um DataSet serializado. Observe a utilização da palavra chave [serializable] no cabeçalho da sua classe.
using
System;
using System.Data;
using
System.Data.SqlClient;
using
System.Web;
using
System.Collections;
using
System.Web.Services;
using
System.Web.Services.Protocols;
using
System.ComponentModel;
namespace
WebTeste
{
[
Serializable]
[
WebService(Namespace = "http://tempuri.org/")]
[
WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[
ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[
WebMethod]
public DataSet getProdutos()
{
// criacao da conexao com a base de dados Pubs que vem com o sqlserver
SqlConnection conn = new SqlConnection("Initial Catalog=pubs;User Id=sa");
conn.Open();
try
{
// voce poderia criar um parametro no metodo getProdutos para realizar um filtro na tabela de autores
SqlDataAdapter da = new SqlDataAdapter("select * from authors", conn);
try
{
// cria um dataset para ser preenchido pelo adapter
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
finally
{
// libera o adapter
da.Dispose();
}
}
finally
{
// libera a conexão
conn.Close();
}
}
}
}
3. Após compilar seu projeto você precisará saber a sua localização lógica por meio do seu WSDL. Para isso execute o seu projeto WS e clique na opção Service Description
Copie o endereço que aparecerá no seu browser. Na minha máquina foi apresentado o seguinte endereço:
4. Agora crie um novo AspNet Project no visual studio e salve-o com o nome de UseWS. Deois adicione um botão e um GridView na página Default.aspx.
5. Agora temos que adicionar uma webReference ao nosso projeto. Lembre-se que você copiou a url que contém a especificação do seu WS. Então clique com o botão direito do mouse sobre o seu projeto no Solution Explorer e clique na opção Add Web Reference
Na janela que aparecerá coloque a url que contém o WSDL do seu WS e clique em Go. A descrição do seu WS aparecerá. Agora vamos mudar o nome da referência a esse objeto na caixa Web reference name para myWS, conforme figura abaixo. Depois clique em Add Reference.
6. Por ultimo implemente o código abaixo no clique do seu botão:
// o seu grid agora esta recebendo o dataset serializado do seu WS. Onde UseWS é o namespace
// adotado para ele. myWS é o nome da nossa referência. Service1 é o nome do serviço que foi criado
// qdo criamos o nosso WS. E getProdutos é o nosso esperado método;
GridView1.DataSource = new UseWS.myWS.Service1().getProdutos();
GridView1.DataBind();
7. Execute o proejto e qdo ele for carregado clique no botão Ok. Deverá ser apresentada uma página com uma relação de autores.
Espero que tenham gostado!