Hola,
Estoy enviando un Json a una web para la inserción de datos y para el envio todo correcto.
El problema esta cuando da algun error.
Me han comentado que los posibles errores los responden en un json de respuesta a la petición, pero no se como recuperar este Json
el codigo que utilizo para enviar mi Json es el siguiente:
Código Delphi
[-]
var
sResponse: string;
JsonToSend: TStringStream;
IdSSL : TIdSSLIOHandlerSocketOpenSSL;
begin
JsonToSend := TStringStream.Create(Utf8Encode(datos));
respuesta := TStringStream.Create;
try
idHTTP.Request.ContentType := 'application/json';
idHTTP.Request.CharSet := 'utf-8';
IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP.IOHandler := IdSSL;
IdHTTP.Request.CustomHeaders.clear;
IdHTTP.Request.CustomHeaders.AddValue('MTC-API-KEY', 'xxxxxxxxxx');
IdSSL.SSLOptions.Method := sslvTLSv1;
IdSSL.SSLOptions.Method := sslvTLSv1;
IdSSL.SSLOptions.Mode := sslmUnassigned;
try
form1.Memo2.Lines.Clear;
form1.Memo2.Lines.Add(datos);
sResponse := idHTTP.post('https://xxxxxxxxxx/index.php?entryPoint=connector', JsonToSend);
form1.Memo1.Lines.Clear;
Form1.Memo1.lines.Add('Response code');
Form1.Memo1.lines.Add(inttostr(idhttp.ResponseCode));
Form1.Memo1.lines.Add('Response text');
Form1.Memo1.lines.Add(idhttp.ResponseText);
Form1.Memo1.lines.Add(sResponse);
except
on E: Exception do begin
Form1.Memo1.lines.Add(e.Message);
Form1.Memo1.lines.Add('Response code');
Form1.Memo1.lines.Add(inttostr(idhttp.ResponseCode));
Form1.Memo1.lines.Add('Response text');
Form1.Memo1.lines.Add(idhttp.ResponseText);
Form1.Memo1.lines.Add(sResponse);
end
end;
finally
JsonToSend.Free;
end;