Corrijam-me se estiver errado, até 2004 a base do correios não tinha travas e/ou bloqueios a única proibição era usar diretamente a base vendida no CD do Guia Postal, mas se caso "migrasse" os seus dados para outra base, firebird por exemplo, isso não era tratada de pirataria, mas a partir de 2005 o Correios mudou a forma de comercialização das informações, agora venda por licenciamento de faixas de Cep's e para bloquear os mais expertos criptografou a base que acompanha o CD do Guia Postal.
Então possivelmente a base que está acompanhando este WebService, deve ser igual ou anterior a 2004, e com isso algumas correções e implementações não estejam contempladas, e ainda não descartando que a mesma possa estar desfalcada de informações. Jader Ricardo escreveu: > > Boa tarde amigos !!! > > Criei a pequena aplicação aqui e funcionou corretamente, porém estou com > algumas dúvidas. Como um amigo da lista até mencionou tem determinados > CEP's > que não encontramos, ou seja, não estão na base. Então, que base é > essa ? É > a do correios ? É a mais recente ? E se não for a do correios, alguém aqui > já teve experiência em licenciar a base do correios ? > > Atenciosamente, > > Jader Ricardo > > _____ > > De: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>] Em > nome de Emerson Cassio > Enviada em: sábado, 6 de janeiro de 2007 01:17 > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Usar serviço do correio para conseguir CEP > através > da aplicação > > Crie um novo Projeto (Delphi 7 em diante) > > Salve o projeto e a unit. > > Clique File..New...Other > Selecione a Aba WebServices > WSDL Importer...Ok > > em Location of WSDLFileor URL digite: > http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl>> > com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > Clique Next...Finish > > Salve a unit criada com o nome CEP > > Selecione o Form Principal do Projeto > Clique File...Use Unit...Selecione CEP e clique OK. > > Adicione no Form o componente HTTPRIO da aba WebServices > Propriedade WSDLLocation coloque http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl>> > com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > Propriedade Service coloque CEPService > Propriedade Port coloque CEPServicePort > > Adicione no Form um Componente Edit e um Botão > > De dois Clique no Botão e adicione o seguinte código: > > procedure TForm1.Button1Click(Sender: TObject); > var > > ObjSoap : CEPServicePort; > > Num : string; > > begin > > ObjSoap:=HTTPRIO1 as CEPServicePort; > > Num:=Edit1.text; > > memo1.Lines.Add(ObjSoap.obterLogradouro(Num)); > > end; > > Pronto rode o projeto, digite o cep no Edit tanto faz o formato "78000000" > ou "78000-000" > clique o botão e no memo aparecerá o respectivo endereço, bastando usar a > criatividade para usar da forma que melhor convir. > > Codigo completo da Unit Principal > ============================ > unit Unit1; > > interface > > uses > Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, > Dialogs, InvokeRegistry, StdCtrls, Rio, SOAPHTTPClient; > > type > TForm1 = class(TForm) > HTTPRIO1: THTTPRIO; > Button1: TButton; > Edit1: TEdit; > Memo1: TMemo; > procedure Button1Click(Sender: TObject); > private > { Private declarations } > public > { Public declarations } > end; > > var > Form1: TForm1; > > implementation > > uses cep; > > {$R *.dfm} > > procedure TForm1.Button1Click(Sender: TObject); > var > ObjSoap : CEPServicePort; > Num : string; > begin > ObjSoap:=HTTPRIO1 as CEPServicePort; > Num:=Edit1.text; > memo1.Lines.Add(ObjSoap.obterLogradouro(Num)); > end; > > end. > ============================ > > Codigo Completo da Unit CEP > ============================ > // > ************************************************************************ > // > // The types declared in this file were generated from data read from the > // WSDL File described below: > // WSDL : http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl>> > com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > // Encoding : utf-8 > // Version : 1.0 > // (06-01-07 00:54:32 - 1.33.2.5) > // > ************************************************************************ > // > > unit cep; > > interface > > uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; > > type > > // > ************************************************************************ > // > // The following types, referred to in the WSDL document are not being > represented > // in this file. They are either [EMAIL PROTECTED] of other types represented > or > were referred > // to but never[!] declared in the document. The types from the latter > category > // typically map to predefined/known XML or Borland types; however, they > could also > // indicate incorrect WSDL documents that failed to declare or import a > schema type. > // > ************************************************************************ > // > // !:string - "http://www.w3. <http://www.w3.org/2001/XMLSchema > <http://www.w3.org/2001/XMLSchema>> > org/2001/XMLSchema" > > ArrayOfstring = array of WideString; { "urn:CEPService" } > > // > ************************************************************************ > // > // Namespace : urn:http://www.byjg. <http://www.byjg.com.br > <http://www.byjg.com.br>> com.br > // soapAction: urn:CEPServiceAction > // transport : http://schemas. <http://schemas.xmlsoap.org/soap/http > <http://schemas.xmlsoap.org/soap/http>> > xmlsoap.org/soap/http > // style : rpc > // binding : CEPServiceBinding > // service : CEPService > // port : CEPServicePort > // URL : http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep>> > com.br/xmlnuke-php/webservice.php/ws/cep > // > ************************************************************************ > // > CEPServicePort = interface(IInvokable) > ['{EC28595B-95D2-DE51-E5B1-57B81D4826D3}'] > function obterVersao: WideString; stdcall; > function obterLogradouro(const cep: WideString): WideString; stdcall; > function obterCEP(const logradouro: WideString; const localidade: > WideString; const UF: WideString): ArrayOfstring; stdcall; > function obterCEPAuth(const logradouro: WideString; const localidade: > WideString; const UF: WideString; const usuario: WideString; const senha: > WideString): ArrayOfstring; stdcall; > end; > > function GetCEPServicePort(UseWSDL: Boolean=System.False; Addr: string=''; > HTTPRIO: THTTPRIO = nil): CEPServicePort; > > implementation > > function GetCEPServicePort(UseWSDL: Boolean; Addr: string; HTTPRIO: > THTTPRIO): CEPServicePort; > const > defWSDL = 'http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?wsdl>> > com.br/xmlnuke-php/webservice.php/ws/cep?wsdl'; > defURL = 'http://www.byjg. > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep > <http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep>> > com.br/xmlnuke-php/webservice.php/ws/cep'; > defSvc = 'CEPService'; > defPrt = 'CEPServicePort'; > var > RIO: THTTPRIO; > begin > Result := nil; > if (Addr = '') then > begin > if UseWSDL then > Addr := defWSDL > else > Addr := defURL; > end; > if HTTPRIO = nil then > RIO := THTTPRIO.Create(nil) > else > RIO := HTTPRIO; > try > Result := (RIO as CEPServicePort); > if UseWSDL then > begin > RIO.WSDLLocation := Addr; > RIO.Service := defSvc; > RIO.Port := defPrt; > end else > RIO.URL := Addr; > finally > if (Result = nil) and (HTTPRIO = nil) then > RIO.Free; > end; > end; > > initialization > InvRegistry.RegisterInterface(TypeInfo(CEPServicePort), > 'urn:http://www.byjg. <http://www.byjg.com.br > <http://www.byjg.com.br>> com.br', 'utf-8'); > InvRegistry.RegisterDefaultSOAPAction(TypeInfo(CEPServicePort), > 'urn:CEPServiceAction'); > RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfstring), 'urn:CEPService', > 'ArrayOfstring'); > > end. > ============================ > > Emerson Cassio > > ----- Original Message ----- > From: Valfrid-Ly Silva Couto > To: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br > Sent: Thursday, January 04, 2007 5:42 PM > Subject: Re: [delphi-br] Usar serviço do correio para conseguir CEP > através > da aplicação > > A lista não aceita anexos! > > Marcio Cruz <marcio.cruuz@ <mailto:marcio.cruuz%40itelefonica.com.br> > itelefonica.com.br> escreveu: Olá amigos, > > este arquivo em anexo eu consegui no site do correios... Agora, como > será que faríamos uma aplicação que, ao clicarmos em "buscar", ele > traria as informações de endereço referente ao CEP? > > Obrigado > > [As partes desta mensagem que não continham texto foram removidas] > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Links do Yahoo! Grupos > > Valfrid-Ly Silva Couto > [EMAIL PROTECTED] <mailto:valfrid%40uol.com.br> com.br > [EMAIL PROTECTED] <mailto:valfrid%40intermega.com.br> com.br > [EMAIL PROTECTED] <mailto:valfrid_ly%40hotmail.com> com > ICQ 15114646 > __________________________________________________ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger <http://br.messenger.yahoo.com/ > <http://br.messenger.yahoo.com/>> .yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] > > __________ Informação do NOD32 IMON 1957 (20070104) __________ > > Esta mensagem foi verificada pelo NOD32 sistema antivírus > http://www.eset. <http://www.eset.com.br <http://www.eset.com.br>> com.br > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas]