Olá pessoal, tudo bom?
O Correio disponibiliza um Webservice gratuito, pelo menos por enquanto, para consulta de endereços a partir de um determinado CEP.
O acesso ao Webservice se dá a partir da URL: http://sigep.correios.com.br/sigep/update/AtendeClienteService.wsdl ou https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl
Para demonstrar seu funcionamento, segue um trecho de código de uma aplicação ASP.NET
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TesteWS.aspx.cs" Inherits="ConsultaCEP.TesteWS" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <h1>Teste WS dos Correios</h1><br /> <asp:Panel ID="Panel1" runat="server" GroupingText="Busca Endereço"> CEP: <asp:TextBox ID="txtCep" runat="server"></asp:TextBox> <asp:Button ID="btnBuscarEndereco" runat="server" OnClick="btnBuscarEndereco_Click" Text="Buscar Endereço" /> <br /> <asp:Label ID="lblEndereco" runat="server"></asp:Label> </asp:Panel> </div> </form> </body> </html>
Na sequencia, temos a implementação em C# para tratar o clique do botão Buscar Endereço
protected void btnBuscarEndereco_Click(object sender, EventArgs e) { wsCorreio.AtendeClienteClient ws = new wsCorreio.AtendeClienteClient("AtendeClientePort"); //Verificar o nome do endpoint no arquivo Web.config var dados = ws.consultaCEP(txtCep.Text); if (dados != null) { lblEndereco.Text = string.Format(@"Endereço: {0}<br /> Complemento 1: {1}<br /> Complemento 2: {2}<br /> Bairro: {3}<br /> Cidade: {4}<br /> Estado: {5}", dados.end, dados.complemento, dados.complemento2, dados.bairro, dados.cidade, dados.uf); } else lblEndereco.Text = "CEP não encontrado."; }
Dado o exemplo, agora basta adaptar para sua aplicação, seja ela ASP.NET, Windows Form, Windows Phone, etc.
Grande abraço,
Eduardo Henrique Rizo
Boa tarde,
Primeiramente, parabens pelo seu trabalho. Estou começando a me aventurar no mundo do WP e estou exclarecendo muitas dúvidas aqui.
Gostaria de saber se à alguma forma de recupegar a minha localização. Estou desenvolvendo um APP para meu TCC e preciso saber qual a localização do celular, mas não sei como fazer isso.
Help me kkkkk
Desde já agradeço.
Att,
Boa noite, tudo bom?
Não tenho nenhum exemplo pronto sobre isso, mas vou escrever um post sobre o assunto.
Creio que amanhã ou depois já estará disponível no meu blog.
Abraços,
Eduardo H. Rizo
Boa tarde Thiago, veja um exemplo do que você me perguntou no post Como obter sua posição geográfica via C#.
Abraços,
Eduardo H. Rizo
Boa Tarde Eduardo,
Cara.. Muito obrigado meeeeeesmo 🙂
Era exatamente o que eu precisava.
Abraços.. Vlw
Que bom. abraços!
Boa tarde,
Estou tentando usar esta solução mas quando tento adicionar o service referencia com este endereço retorna o seguinte erro:
There was an error downloading ‘http://sigep.correios.com.br/sigep/update/AtendeClienteService.wsdl/_vti_bin/ListData.svc/$metadata’.
The request failed with HTTP status 404: Not Found.
Sabe o que pode ser?
Obrigado.
Bom dia, tudo bom?
Aparentemente o endereço do webservice mudou. Tente esse https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl
Abraços,
Eduardo H. Rizo
Eduardo, eu estou tentando usar esse webservice aqui mas ele está dando erro nessa linha:
wsCorreios.AtendeClienteService ws = new wsCorreios.AtendeClienteService(“AtendeClientePort”); //Verificar o nome do endpoint no arquivo Web.config
tive que trocar o AtendeClienteClient porque no novo link do webservice dos correios essa config nao aparece.
Fiz errado?
Boa tarde, tudo bom?
Parece que eles trocaram o webservice para outro endereço.
Utilize esse agora: https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl
[]s
Eduardo H. Rizo
Sim, eles trocaram e junto com ele alguns argumentos. Como o AtendeClienteClient. Nao existe esse argumento mais, ou seja nao consigo referenciá-lo. O unico que aparece pra mim é o AtendeClienteService
Hum… e vc tentou usá-lo?
Tentei, e no try catch, ele da o seguinte erro ao digitar um cep invalido
An exception of type ‘System.Web.Services.Protocols.SoapException’ occurred in System.Web.Services.dll but was not handled in user code
Additional information: CEP NAO ENCONTRADO
Ele retorna isso no VS, e não no webform como deveria ser
[…] Correios: Webservice para consulta de endereços a partir de um CEP […]