Ir para conteúdo
  • Cadastre-se

dev botao

Consumir Webservice REST em Delphi


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

Recommended Posts

Postado (editado)

Bom dia,

 

Sou novo aqui, Estou precisando consumir um webservice rest em delphi 7. Vi o tópico aqui, Mas estou muito confuso ainda.

Alguém tem algum exemplo de uso?

Paulo S. Berti

[email protected]

 

Editado por EMBarbosa
Tópico dividido
Postado (editado)

O projeto está em Delphi 7. Necessita de uma implementação. Usa activeX para comunicação com câmera Cognex e o componente nodave para comunicaçao com CLP. Não há tempo de procurar outras alternativas. Como tenho que obter informações do ERP do cliente sobre o produto que está na linha preciso acessar o Webservice deles.

 

Editado por berti
Postado

Use a biblioteca lkJSON para tratar o Json e o Indy para fazer a requisição. 

Exemplo:

Citar

var
  js: TlkJSONobject;
  lhttp :TIdHTTP;
  Str :String;
begin
  lhttp := TIdHTTP.Create;
    Str := lhttp.get('https://publicapi.minhaapi.com/api/v1/CategoriaServico/'+IntToStr(Id));
     js := TlkJSON.ParseText(Str) as TlkJSONobject;

    Result := VarToStr(js.Field['MeuCampo'].Value);
 

 

  • Moderadores
  • Solution
Postado

Temos alguma experiencia no uso de API e Webservice.

Se precisar de alguma ajuda nesse sentido acredito que podemos te ajudar.

Para Delphi 7 também recomendo o uso do LkJSON e até uso ele em algumas situações mas nada se compara com o JSON nativo do XE8 e Seatle.

Postado

Caro Reinaldo e Waldir.

Segui a orientação com o LkJSON e o IdHTTP (indy 10) e deu tudo certo.

 

  IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV2';
  Str := IdHTTP1.get('http://spapp23:8080/start?code=' + Edit1.Text {+IntToStr(Id)});
  js := TlkJSON.ParseText(Str) as TlkJSONobject;
  J := js.Field['processCode'].Value;
  Memo1.Lines.Add('processCode:' + IntToStr(J));
  Memo1.Lines.Add('productId..:' + VarToStr(js.Field['productId'].Value));
  Memo1.Lines.Add('partNumber.:' + VarToStr(js.Field['partNumber'].Value));
  Memo1.Lines.Add('message....:' + VarToStr(js.Field['message'].Value));

Apenas ainda estou com problemas com a acentuação na resposta. Mas vou ver como resolver.

 

O principal que era obter os valores já está resolvido.

Agradeço muito pela ajuda.

  • Moderadores
Postado

Que maravilha!

Sobre a acentuação é bem provável que Api te retorne em UTF8 e você precisa fazer a conversão para ANSI.

Tenta ai que provavelmente vai dar certo. 

  • 1 ano depois...
Postado

Boa tarde. 

Tem alguma opção para passar parametros, vi em algum lugar falando sobre Header:


Exemplo:

empresa

usuario

senha

cpf

renach

?

 

Softcia - Desenvolvimento de Sistemas Personalizados a 29 anos. Em Clipper, Visual Foxpro e Delphi

 

Mario Moreira

MSN : [email protected]

Cidade : Santa Maria - RS

 

  • 1 ano depois...
Postado
Em 15/03/2016 at 16:55, Waldir Paim disse:

Temos alguma experiencia no uso de API e Webservice.

Se precisar de alguma ajuda nesse sentido acredito que podemos te ajudar.

Para Delphi 7 também recomendo o uso do LkJSON e até uso ele em algumas situações mas nada se compara com o JSON nativo do XE8 e Seatle.

Ola preciso de ajuda pra desenvolver um consumo de API no delhi 7

e-mail [email protected]

watsapp 11 95550-2610

 

  • Moderadores
Postado
Em 23/10/2019 at 09:17, Berry Graf disse:

Ola preciso de ajuda pra desenvolver um consumo de API no delhi 7

e-mail [email protected]

watsapp 11 95550-2610

 

Se fosse no Delphi Rio eu até poderia conseguir alguma coisa.
 

Delphi 7 já deu o que tinha que dar. (bora do Rio?)

  • 2 semanas depois ...
  • 2 anos depois...
  • Este tópico foi criado há 799 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.