>> Navegação >> Tópico >> SubTópico
NomeTítulo Tópicos
gsoft
Dúvida iniciada: 6/22/2010 3:49:09 PM

Pesquisa de CEP no WebService via Delphi


Dúvida:  Criei a seguinte Unit para Pesquisar CEP no WebService http://www.aspneti.com.br/access/servicoCEP.asmx

Porem quando aciono a consulta, pede nome de usuário e senha!
Mas qual é o NOME DE USUÁRIO E SENHA e porque precisa disso?

Outra coisa, posso colocar esse WebService no meu próprio servidor?

Segue a Unit Abaixo gerada por http://www.aspneti.com.br/access/servicoCEP.asmx?WSDL:

Acho que não estou sabendo invocar a função, aceito qualquer ajuda!

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : http://www.aspneti.com.br/access/servicoCEP.asmx?WSDL
// Encoding : utf-8
// Version : 1.0
// (14/12/2005 17:12:32 - $Revision: 1.9.1.0.1.0.1.9 $)
// ************************************************************************ //

unit servicoCEP;

interface

uses InvokeRegistry, Types, XSBuiltIns;

type

// ************************************************************************ //
// The following types, referred to in the WSDL document are not being represented
// in this file. They are either aliases[@] 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.org/2001/XMLSchema"
// !:string - "http://tempuri.org/"

PesquisarCepDataSetResult = class; { "http://tempuri.org/" }



// ************************************************************************ //
// Namespace : http://tempuri.org/
// ************************************************************************ //
PesquisarCepDataSetResult = class(TRemotable)
private
Fs_schema: String;
published
property s_schema: String read Fs_schema write Fs_schema;
end;


// ************************************************************************ //
// Namespace : http://tempuri.org/
// soapAction: http://tempuri.org/%operationName%
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// binding : ServicoCEPSoap
// service : ServicoCEP
// port : ServicoCEPSoap
// URL : http://www.aspneti.com.br/access/servicoCEP.asmx
// ************************************************************************ //
ServicoCEPSoap = interface(IInvokable)
['{701A1F3B-220B-9D1B-CC8E-61BFA7A8EE7C}']
function PesquisarCepDataSet(const cep: String; const nome: String; const senha: String): PesquisarCepDataSetResult; stdcall;
function PesquisarCepString(const cep: String; const nome: String; const senha: String): String; stdcall;
end;

function GetServicoCEPSoap(UseWSDL: Boolean=System.False; Addr: string=''): ServicoCEPSoap;


implementation
uses SOAPHTTPClient;

function GetServicoCEPSoap(UseWSDL: Boolean; Addr: string): ServicoCEPSoap;
const
defWSDL = 'http://www.aspneti.com.br/access/servicoCEP.asmx?WSDL';
defURL = 'http://www.aspneti.com.br/access/servicoCEP.asmx';
defSvc = 'ServicoCEP';
defPrt = 'ServicoCEPSoap';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
RIO := THTTPRIO.Create(nil);
try
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
Result := (RIO as ServicoCEPSoap);
finally
if Result = nil then
RIO.Free;
end;
end;


initialization
InvRegistry.RegisterInterface(TypeInfo(ServicoCEPSoap), 'http://tempuri.org/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServicoCEPSoap), 'http://tempuri.org/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(ServicoCEPSoap), ioDocument);
RemClassRegistry.RegisterXSClass(PesquisarCepDataSetResult, 'http://tempuri.org/', 'PesquisarCepDataSetResult');

end.

Respostas Data Resposta: 12/14/2005 11:24:56 PM
gsoft Eu coloquei meu login e senha que cadastrei aqui no site e funcionou a busca via delphi, agora, gostaria de saber como eu poderia inserir esse webservice em meu servidor na internet, se é que isso é possível.
Respostas Data Resposta: 12/15/2005 8:24:09 AM
Mauricio Junior Olá GSoft, Era só colocar o seu usuário e senha mesmo. Você pode sim usar em seu sistema, mas tem que usar com a referencia para o site da comunidade aspneti.com.br, entendeu ? Espero ter gostado do serviço da comunidade. Em breve estaremos publicando mais serviços. Abraços.
Respostas Data Resposta: 12/15/2005 10:26:45 AM
gsoft Obrigado pela resposta, eu tenho mais algumas dúvidas,

Vocês tem planos de manter mesmo este webservice em funcionamento, eu posso confiar a ponto de inserir este recurso em meus programas?

A base de dados é atualizada?

Quando eu uso o comando
   ShowMessage(servicoCEP.GetServicoCEPSoap.PesquisarCepString('12702450','login','senha'));

A mensagem me retorna todo o resultado, ou seja:

12702450--Vila Washington Beleza--Rua dos Andradas - de 541/542 a 949/950--SP--Cruzeiro

Tem como eu dividir esse resultado pegando separadamente Bairro, Rua, Número, Estado e Cidade? Só falta isso para completar o sistema.

A pesquisa pode ser feita somente por CEP ou também por LOGRADOURO? Não seria interessante que a pesquisa também pudesse ser feita por logradouro como nesse outro WebService de CEP que eu encontrei na internet?

http://lab.etfto.gov.br/~mcampos/downloads/meus_fontes/cep_webservice.zip
Respostas Data Resposta: 12/15/2005 11:22:40 AM
Mauricio Junior Olá Gsoft, Primeiramente, o nosso objetivo é ajudar ao pessoal em relação com o desenvolvimento. Não iremos tirar do site esse serviço. Procuramos sempre ajudar ao pessoal com a comunidade. Estamos sempre atualizando o banco de dados acima do possível. No momento não estamos deixando fazer buscas pelo logradouro e sim apenas pelo número do cep do usuário. Estaremos retornando apenas string separadas por dois traços "--" com isso o senhor pode quebrar a string toda vez que tiver os traços "--". Ou então escolha a outra opção de dataset, ou seja, o mesmo retorna um dataset com os campos separados com o senhor deseja. Espero ter ajudado. www.aspneti.com
Respostas Data Resposta: 12/15/2005 11:39:55 AM
gsoft Eu não sei usar esta opção de dataset, como faço?

Ou como faço para quebrar a string?
Respostas Data Resposta: 12/15/2005 4:39:05 PM
Mauricio Junior

Se voce estiver usando c#.net, pode usar substring.

Qual a linguagem que voce está usando ?

Respostas Data Resposta: 12/15/2005 5:08:17 PM
gsoft Uso Delphi
Respostas Data Resposta: 12/19/2005 6:11:20 PM
Mauricio Junior Desculpe mas eu nunca programei em delph.
Respostas Data Resposta: 1/26/2006 5:41:06 PM
Rafael Pedrosa

Cara ta meio toscao mais acho q vai funcionar. dah uma melhorada depois posta aqui no site.


[]'s


 


var a, b,c,d,e,f :string;


begin
  a:= '12702450--Vila Washington Beleza--Rua dos Andradas - de 541/542 a 949/950--SP--Cruzeiro';
  b := Copy(a,1,pos('--',a)-1);
  a := Copy(a,pos('--',a)+2, 255 );
  c := Copy(a,1,pos('--',a)-1);
  a := Copy(a,pos('--',a)+2, 255 );
  d := Copy(a,1,pos('--',a)-1);
  a := Copy(a,pos('--',a)+2, 255 );
  f := Copy(a,1,pos('--',a)-1);
  a := Copy(a,pos('--',a)+2, 255 );

  showmessage( b  + #13#10 + c + #13#10 + d + #13#10 + e + #13#10 + f + #13#10 + a) ;

Respostas Data Resposta: 6/22/2010 3:49:09 PM
AlisonBissoliDias Olá para todos...

mesmo com meu usuário e senha está apresentando a mensagem:

---------------------------
Project1
---------------------------
DTD proibido.
Line: 3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML.
---------------------------
OK  
---------------------------

O que posso fazer?

PROGRAMANDO EM ASP.NET


Vídeos

 
Curso de C#


Visto por 41 pessoas.

Vídeo: Gerando Hash com .NET


Visto por 907 pessoas.

Criptografia para ser usada na URL


Visto por 1234 pessoas.

Mudar o toque do iPhone


Visto por 1779 pessoas.

12345678