Академический Документы
Профессиональный Документы
Культура Документы
Pesquisar
Publicidade
Desenvolvimento - Web Services
Criando um WebService para
controle de Clientes utilizando C#
O objetivo deste artigo é desenvolver um sistema de cadastro de
clientes acessível através de um WebService, o qual poderá ser
utilizado por outros sites que consumirem o WebService,
possibilitando a inclusão, alteração, exclusão, consulta e
autenticação de clientes pessoa física e pessoa jurídica.
35 35 0 22
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 1/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 2/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 3/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 4/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
{
get{return _cod;}
set{_cod = value;}
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 5/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
public clsPessoa()
{
}
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 6/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 7/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
ret = Convert.ToInt64(cmd.ExecuteScalar());
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}
return ret;
}
Veja que utilizamos o modificador abstract para criar os nosso
métodos abstratos, os quais serão implementados somente nas
classes que herdarem esta classe (no nosso projeto, as classes
clsPessoaFis e clsPessoaJur). Temos dois métodos (excluir e
autenticar) que fazem a mesma coisa tanto para pessoa física
quanto para pessoa jurídica, portanto, é necessário implementá-
los apenas na superclasse e herdá-los em nossas subclasses.
Para isso, utilizamos o modificador virtual. Agora, temos que
implementar as nossas duas subclasses (clsPessoaFis e
clsPessoaJur) herdando de nossa classe abstrata clsPessoa.
Primeiro, vamos implementar os atributos da nossa classe
clsPessoaFis conforme nosso diagrama de classes:
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 8/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
public string rg
{
get{return _rg;}
set{_rg = value;}
}
public clsPessoaFis()
{
this.cod = 0;
this.email = "";
this.telefone = "";
this.login = "";
this.senha = "";
this.cpf = "";
this.rg = "";
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 9/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 10/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
conn.Close();
conn.Dispose();
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 11/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
cmd.Dispose();
}
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 12/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
cmd.Parameters.Add(param[i]);
}
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 13/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = strSql.ToString();
cmd.CommandType = CommandType.Text;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
}
A implementação para a nossa classe clsPessoaJur é similar a
implementação que fizemos acima. Portanto, colocarei o código
completo da classe abaixo:
public class clsPessoaJur : clsPessoa
{
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 14/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
public clsPessoaJur()
{
this.cod = 0;
this.email = "";
this.telefone = "";
this.login = "";
this.senha = "";
this.cnpj = "";
this.razao_social = "";
this.insc_estatual = "";
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 15/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
{
this.cod = cod;
this.nome = nome;
this.email = email;
this.telefone = telefone;
this.login = login;
this.senha = senha;
this.cnpj = cnpj;
this.razao_social = razao_social;
this.insc_estatual = insc_estatual;
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 16/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
cmd.Parameters.Add(param[i]);
}
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 17/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSql.ToString();
cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception("ERRO BANCO DE DADOS: " + ex.M
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 18/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
}
catch(Exception ex)
{
throw new Exception("ERRO RUNTIME: " + ex.Message.To
}
finally
{
conn.Close();
conn.Dispose();
cmd.Dispose();
}
}
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 19/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 20/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 21/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
[WebMethod]
public void incluirPJ(string nome, string email, string telefone, s
string cnpj, string razao_social, string insc_estadu
{
clsPessoaJur objPessoa = new clsPessoaJur();
objPessoa.nome = nome;
objPessoa.email = email;
objPessoa.telefone = telefone;
objPessoa.login = login;
objPessoa.senha = senha;
objPessoa.cnpj = cnpj;
objPessoa.razao_social = razao_social;
objPessoa.insc_estatual = insc_estadual;
objPessoa.incluir();
}
[WebMethod]
public void alterarPF(long cod, string nome, string email, string
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 22/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
[WebMethod]
public void alterarPJ(long cod, string nome, string email, string t
string senha, string cnpj, string razao_social, strin
{
clsPessoaJur objPessoa = new clsPessoaJur();
objPessoa.cod = cod;
objPessoa.nome = nome;
objPessoa.email = email;
objPessoa.telefone = telefone;
objPessoa.login = login;
objPessoa.senha = senha;
objPessoa.cnpj = cnpj;
objPessoa.razao_social = razao_social;
objPessoa.insc_estatual = insc_estadual;
objPessoa.alterar();
}
[WebMethod]
public DataSet obterPF(long cod)
{
clsPessoa objPessoa = new clsPessoaFis();
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 23/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
objPessoa.cod = cod;
return objPessoa.obter();
}
[WebMethod]
public DataSet obterPJ(long cod)
{
clsPessoa objPessoa = new clsPessoaJur();
objPessoa.cod = cod;
return objPessoa.obter();
}
[WebMethod]
public void excluir(long cod)
{
clsPessoa objPessoa = new clsPessoaFis();
objPessoa.cod = cod;
objPessoa.excluir();
}
[WebMethod]
public long autenticar(string login, string senha)
{
clsPessoa objPessoa = new clsPessoaFis();
objPessoa.login = login;
objPessoa.senha = senha;
long cod = objPessoa.autenticar();
return cod;
}
}
Já estamos quase no final do nosso projeto, mas antes gostaria
de destacar o DataSet de retorno do método obter. A classe
DataSet é a mais importante da biblioteca de acesso a dados
ADO.NET. Por esta tecnologia ser totalmente baseada em XML
(o qual a difere totalmente da sua antecessora, o ADO) ela
retorna um documento XML a partir de um comando select (por
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 24/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
using System.Data;
using System.Data.OleDb;
using System.Text;
Agora é só ver e testar o resultado do nosso webservice,
acessando o mesmo através do browser:
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 25/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
Um abraço,
Jones
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 26/27
15/01/2018 Criando um WebService para controle de Clientes utilizando C#
35 35 0 22
Leia também
Verificando disponibilidade de um serviço WCF ou WebService
C#
REST e o WSDL
Web Services
http://www.linhadecodigo.com.br/artigo/663/criando-um-webservice-para-controle-de-clientes-utilizando-csharp.aspx 27/27