Einzelnen Beitrag anzeigen

Starsky911

Registriert seit: 8. Feb 2008
Ort: Bremen
96 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datasnap RestServer CRUD POST-Daten

  Alt 16. Apr 2015, 08:14
Hallo,

ich bin in der Sache etwas weiter gekommen.
Zumindest kommen die Daten die über PUT gesendet werden beim RestServer an.
Es kommt dann allerdings zu folgenden Fehlermeldung:

Delphi-Quellcode:
Thread-Start: Thread-ID: 2956. Prozess WebRestServer.exe (380)
Modul laden: dhcpcsvc.DLL. Ohne Debug-Infos. Basisadresse: $74AE0000. Prozess WebRestServer.exe (380)
Modul laden: dhcpcsvc6.DLL. Ohne Debug-Infos. Basisadresse: $74AD0000. Prozess WebRestServer.exe (380)
Erste Gelegenheit für Exception bei $7667B727. Exception-Klasse TDBXError mit Meldung 'JSON-Werteingabe {"vip":true,"age":33,"telephones":["000000000","111111111111"],"adresses":[{"adress":"blabla","pc":57000,"city":"Metz"},{"adress":"blabla","pc":44000,"city":"Nantes"}],"size":1.83,"name":"Henri Gourvest"} kann nicht in TDBXTypes.WideString konvertiert werden'. Prozess WebRestServer.exe (380)
Gesendet wurden die Daten über einen RestClient mit folgendem Code:
Delphi-Quellcode:
  lJSO := SO(Memo2.Lines.Text);
  lRequest := TStringStream.Create(lJSO.AsString, TEncoding.UTF8);
  try
    IdHTTP1.Request.ContentType := 'text/xml; charset=utf-8';//'text/plain;charset=UTF-8';
    IdHTTP1.Request.Accept := 'application/json';
    IdHTTP1.Request.Charset := 'utf-8';
    try
      lResponse := IdHTTP1.Put(Edit1.Text, lRequest);
      Memo1.Lines.Text:=lResponse;
    except
      on E: Exception do
        ShowMessage('Error on request:'#13#10 + E.Message);
    end;
  finally
    lRequest.Free;
  end;
Warum kommt es zu dieser TDBXError Fehlermeldung?
Ausgelöst wird diese Fehlermeldung in der Unit Data.DBXJSONCommon
in der Procedure TDBXJSONTools.JSONToDBX.
Kann da vielleicht einer einen Tipp geben

Gruß
Starsky
  Mit Zitat antworten Zitat