Hallo und vielen Dank für die Posts.
@Edelfix:
Die Json Objekte sind mit Sourcecode den mir das JsonWorkbench aus den RADStudioDemos erstellt hat und daher vaild. (ccoles Tool)
Der Witz an der Sache war, dass die Fima countersolutions.co.uk obwohl die
URL zum Post was mit RestAPI ist, einen nackten HTTP-Post erwartet bei dem das Json-Obekt als Payload dran hängt.
Ich schaffe jetzt eine Kommunikation im Prinzip wie es Schokohase gemacht hat:
Delphi-Quellcode:
procedure TFormRESTTest.Button1Click(Sender: TObject);
var
body: string;
source: TStream;
reqs: IHttpRequest;
resp: IHttpResponse;
Client: THttpClient;
begin
body := JsonUpate('10',AccountID);
source := TStringStream.Create( body );
Client:=THttpClient.Create( );
// Client.ContentType := 'application/json';
resp := Client.Post( BaseURL+'AccountPurses', source );
if ( resp.StatusCode >= 400 ) then
begin
ShowMessage('Fehler: '+inttostr(resp.StatusCode));
end;
Memo.lines.add(resp.ContentAsString);
end;
Mit der
Indy Library habe ich es nicht geschafft da dort immer der Wert accept gesetzt wird selbst wenn die Property leer ist:
"Accept: text/
html,application/xhtml+
xml,application/
xml;q=0.9,*/*;q=0.8"
Allein das reicht damit der Server mit Bad Request antwortet. Sonst sieht das Paket gleich aus im Wireshark.