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!