Buenas a todos.
Tengo el siguiente codigo usando INDY para enviar datos en JSON a un servidor REST y esperar otro JSON en respuesta.
Código Delphi
[-]
ReqJson := TStringStream.Create(jData.ToString, TEncoding.UTF8);
try
DM_CFE.IDHTTP_Doc.Request.ContentType := 'application/json';
DM_CFE.IDHTTP_Doc.Request.CustomHeaders.FoldLines := False;
DM_CFE.IDHTTP_Doc.Request.CustomHeaders.Add('Authorization:' + cAuthCode );
RespJson := DM_CFE.IDHTTP_Doc.Post(URL, ReqJson);
except
on E: EIdHTTPProtocolException do
begin
jData := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes( E.ErrorMessage ),0) as TJSONObject;
cErrorCfe := jData.Get('developerMessage').JsonValue.Value;
end;
on E: Exception do
begin
jData := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes( E.Message ),0) as TJSONObject;
cErrorCfe := jData.Get('developerMessage').JsonValue.Value;
end;
end;
Mi problema es que este codigo en una pc funciona y en otra de la misma red da error.
Me gustaria convertirlo a los nuevos componentes REST. Lo he hecho de esta manera pero no estoy seguro si me falta algo
Código Delphi
[-]
DM.Rest_Client_Pedido.BaseURL := Url;
DM.Rest_Request_Pedido.Params.Clear;
DM.Rest_Request_Pedido.Params.AddItem;
DM.Rest_Request_Pedido.Params[0].name := 'Authorization';
DM.Rest_Request_Pedido.Params[0].value := cAuthCode;
DM.Rest_Request_Pedido.Params[0].Kind := pkGETorPOST;
DM.Rest_Request_Pedido.Params[0].Options := [TRESTRequestParameterOption.poDoNotEncode];
DM.Rest_Request_Pedido.Params.AddItem;
DM.Rest_Request_Pedido.Params[1].name := 'body';
DM.Rest_Request_Pedido.Params[1].value := jData.ToString;
DM.Rest_Request_Pedido.Params[1].ContentType := ctAPPLICATION_JSON;
DM.Rest_Request_Pedido.Params[1].Kind := pkREQUESTBODY;
try
try
DM.Rest_Request_Pedido.Execute;
except
Application.MessageBox(PChar('Se produjo un error.' + #13#10#13#10 + 'Reintente por favor.'), PChar('ATENCION !!!'), MB_OK + MB_ICONWARNING + MB_TOPMOST);
Abort;
end;
finally
end;
Me pueden indicar donde esta mi error al convertir ese codigo ??
Gracias