Delphi TRESTRequest получает нарушение прав доступа при попытке TRESTRequest.AddBody () - PullRequest
0 голосов
/ 27 февраля 2020

Я работаю с клиентским приложением Delphi (10.2.2), которое вызывает функции API на сервере REST Delphi (WebModule). На данный момент у меня есть 10 из этих типов вызовов API, которые выполняют все соответствующие HTTP-глаголы (POST, GET, PUT, DELETE), и все они работают нормально, за исключением вызовов, где мне нужно загрузить объект JSON для INSERT / EDIT. на сервере. Я не уверен, что я делаю неправильно, поэтому, если кто-нибудь сможет посмотреть на мою попытку и сообщить мне, что мне не хватает?

var
  REQ : TRESTRequest;
  RESP : TRESTResponse;
  NewPL : TJSONObject;
  strOut : String;
begin
  try
    REQ := TRESTRequest.Create(Application);
    RESP := TRESTResponse.Create(Application);
    REQ.Response := RESP;
    REQ.Resource := 'packlist';
    REQ.Client := DM1.RESTClient;
    REQ.Method := TRESTRequestMethod.rmPOST;

   //Create JSON from UI
   NewPL := TJSONObject.Create;
   NewPL.AddPair('PL_NO', edtPLNo.Text);
   NewPL.AddPair('PL_DATE', edtPLDate.Text);
   NewPL.AddPair('SHIP_NO', edtShipmentNo.Text);
   NewPL.AddPair('SHIPPER', memShipper.Text);
   NewPL.AddPair('CONSIGNEE', memConsignee.Text);
   NewPL.AddPair('VEHICLE_REG_NO', edtVehicleRegNo.Text);
   NewPL.AddPair('ETD', DateTimeToStr(dateETD.Date));
   NewPL.AddPair('ETA', DateTimeToStr(dateETA.Date));
   NewPL.AddPair('TOTAL_QTY', edtTotalQty.Text);
   NewPL.AddPair('TOTAL_WEIGHT', edtTotalWeight.Text);
   NewPL.AddPair('TOTAL_VOLUME', edtTotalVol.Text);
   if chkPLComplete.Checked then
     NewPL.AddPair('COMPLETE', '1')
   else
     NewPL.AddPair('COMPLETE', '0');
   NewPL.AddPair('SUPPLIER_NO', edtSuppNo5.Text);
   NewPL.AddPair('DEBTOR_ACC_NO', '');
   NewPL.AddPair('WAYBILL_NO', edtWaybillNo.Text);
   strOut := NewPL.ToString;

   REQ.AddBody(NewPL); //AV occurs here
   REQ.Execute;
   DisplayPL(NewPL);

 finally
   REQ.DisposeOf;
   RESP.DisposeOf;
 end;
end;

Я уверен, что где-то допустил ошибку, которую я продолжаю с видом ...

...