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:
http://localhost:1330/Service1.asmx?WSDL. Mas lembre-se que em cada máquina a porta utilizada poderá ser diferente.
 
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!