AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Rest post

Ein Thema von Graw · begonnen am 14. Nov 2019 · letzter Beitrag vom 23. Dez 2019
Antwort Antwort
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Rest post

  Alt 14. Nov 2019, 10:42
Da er ein Timeout bekommt, würde ich mal eher auf eine falsche URL tippen. Zwar ist das Korrekt, dass sein Code keine JSON ist, aber da müsste doch dann irgend ein vernünftiger Fehler vom Server kommen.
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
78 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Rest post

  Alt 14. Nov 2019, 13:05
Vielen Dank für den Hinweis.
Manchmal muss man einfach noch einmal darauf gebracht werden genauer hin zu schauen.
Ich hatte einen Fehler in der URL.

Nun kommt keine Fehlermeldung, allerdings kommen auch noch keine Daten an. (Format vom Body sollte richtig sein. Hatte es hier im Forum nur abgekürzt.)

Wie kann ich eine Meldung bzw. Antwort des Webservices anzeigen?
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Rest post

  Alt 14. Nov 2019, 13:15
Ich kenne mich mit TRESTRequest jetzt nicht so gut aus, aber wenn ich die Doku lese müsstest du die vom Server erhaltene Response in RESTRequest.Response haben:

RESTRequest.Response.JSONText
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
78 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Rest post

  Alt 16. Dez 2019, 08:17
Hallo,

vielen dank für eure Antworten.
Nun habe ich wieder Zeit mih mit dem Thema zu beschäftigen.
Es it weiterhin so, dass ich die Daten nicht am Webservice empfange.
Besteht die Möglichkeit zu sehen was ich an den Webservice schicke?
Ich würde mir gerne mit showMessage den JSON String anschauen.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Rest post

  Alt 16. Dez 2019, 09:59
Falls du Komponenten auf dem Form hast und die nicht dynamisch erstellst dann erstellst du sie natürlich hier nicht mehr.
Ansonsten hab ich jetzt das Freigeben weggelassen - das muss natürlich in den echten Code rein.
Letztendlich brauchst du ein TRESTResponse Objekt dass du dem Request zuweist.
Nach dem Execute kannst du dann per response.Content auf den Content zugreifen.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var RESTClient: TRESTClient;
    RESTRequest: TRESTRequest;
    RESTResponse: TRESTResponse;
begin
  RESTClient := TRESTClient.Create(nil);
  RESTClient.BaseURL := '<BaseUrl>';

  RESTResponse := TRESTResponse.Create(nil);

  RESTRequest := TRESTRequest.Create(nil);
  RESTRequest.Client := RESTClient;
  RESTRequest.Response := RESTResponse;
  RESTRequest.Params.AddHeader('Nonce', Nonce);
  RESTRequest.Params.AddHeader('Content-Type', 'application/json');
  RESTRequest.AddBody('{"Test"}');
  RESTRequest.Execute;

  if RESTResponse.Status.Success then
    ShowMessage(RESTResponse.Content);
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
78 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Rest post

  Alt 18. Dez 2019, 08:34
Hallo,

das hilft mir schonmal in soweit das ich denke den Aufbau richtig zu haben.
Leider kann ich weiterhin keine Daten zum Webservice schicken.
Ich nutze eine Session um die Nonce abzufragen und eine weitere um den POST durchzuführen.
Muss ich beides mit einer Session durchführen?
Wenn ja, wie kann ich die Methode von Get auf Post ändern?

RESTRequest2.Method :=rmPOST; funktioniert nicht. rmPost wird rot unterstrichen. Undeclared identifier 'rmPost'.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.782 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Rest post

  Alt 18. Dez 2019, 08:44
.. hast Du die Unit REST.Types eingebunden?

Grüße
Klaus
Klaus

Geändert von Klaus01 (18. Dez 2019 um 09:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Rest post

  Alt 19. Dez 2019, 09:32
Probier mal alle Parameter stattdessen so hinzuzufügen:
RESTRequest.AddParameter('Nonce', Nonce, pkHTTPHEADER, [poDoNotEncode]); // Alle anderen auch so
Das poDoNotEncoode ist das ausschlaggebende.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz