Ir para conteúdo
  • Cadastre-se

dev botao

ACBrCEP - Novo WebService


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 2696 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia,

estou querendo implementar um novo WebServices no ACBrCEP mas não estou entendendo onde estou errando.

Gostaria de implementar o WebService para o Site CepAberto, que é uma base compartilhada.

Fiz a Classe, implementei os métodos Create, Destroy e BuscaCEP;

Adicionei a Classe no SetWebService;

Mas só me retorna 'Nenhum WebService selecionado'.

 

Segue os trechos que eu alterei da Unit ACBrCEP http://textuploader.com/dkh7a

 

O que estou fazendo de errado?

  • Consultores
Postado

Acho que não dá pra saber só com o código que postou nesse site aí. Sugiro fazer o seguinte:

  1. procure no código onde é levantada a exception que tem o texto 'Nenhum WebService selecionado'.
  2. Coloque um BreakPoint lá.
  3. Execute o programa e faça o seu teste.
  4. Quando o programa parar no breakpoint que você adicionou, verifique porque ele não foi para o caminho que esperava.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado
8 minutos atrás, Daniel Simoes disse:

Tente recompilar o Package ACBrTCP... verifique se seu código de seleção do WebService está correto...

Se eu ir no InstalarACBr e mandar instalar só o ACBrTCP ele já faz o Build, Compile e Install, correto?

Pois eu estou fazendo assim: Altero, executo o InstalarACBr só com ACBrTCP selecionado e testo...

5 minutos atrás, EMBarbosa disse:

Acho que não dá pra saber só com o código que postou nesse site aí. Sugiro fazer o seguinte:

  1. procure no código onde é levantada a exception que tem o texto 'Nenhum WebService selecionado'.
  2. Coloque um BreakPoint lá.
  3. Execute o programa e faça o seu teste.
  4. Quando o programa parar no breakpoint que você adicionou, verifique porque ele não foi para o caminho que esperava.

Já estou fazendo isso e tbm estou fazendo com os que dão certo (que são os que já tinha), mas não consegui identificar onde estou falhando.

Postado

Consegui resolver, foi um erro grotesco: no TACBrWSCEPAberto.BuscarPorCEP eu esqueci de retirar o "inherited;", ou seja, ele estava acessando o método original.

Agora um outro detalhe. O site disponibiliza este código para consultar no Delphi, mas ele usa componente Indy para isso.

Como eu traduzo isso para os métodos do próprio ACBr para que o fOwner.HTTPGet possua o Headers indicado a baixo?

procedure TForm1.Button1Click(Sender: TObject);
var
	strm : TStringStream;
begin
	IdHTTP1.Request.Clear;
	IdHTTP1.Request.CustomHeaders.Clear;
	IdHTTP1.Request.Accept := 'text/html, */*';
	IdHTTP1.Request.CustomHeaders.Add('Authorization: Token token="<CHAVE DE ACESSO>"');
	strm := TStringStream.Create('');
	try
		IdHTTP1.Get('http://www.cepaberto.com/api/v2/ceps.json?cep=17290000', strm);
		Memo1.Text := Utf8ToAnsi( strm.DataString );
	finally
		strm.Free;
	end;
end;

 

Postado

Então, meu problema é que não sei onde eu coloco o Cabeçalho com o token de autorização. Já mudei a requisição para XML em vez de JSON, mas ainda dá acesso negado (por culpa da falta de um cabeçalho que contenha o Token)

  • Moderadores
  • Solution
Postado
2 horas atrás, Igor Bastos disse:

Segue anexo ACBrCEP.pas com as alterações referentes à adição do WebService CepAberto.

Tentei seguir o padrão e adicionei algumas informações no início do .pas.

 

ACBrCEP.pas

No svn a mudança.

Obrigado pela contribuição

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Este tópico foi criado há 2696 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.