AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Delphi Senden zu Shopware REST API mit idHTTP
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Senden zu Shopware REST API mit idHTTP

Ein Thema von GiuStyler · begonnen am 3. Apr 2017 · letzter Beitrag vom 4. Apr 2017
Antwort Antwort
GiuStyler

Registriert seit: 28. Mär 2017
2 Beiträge
 
#1

Delphi Senden zu Shopware REST API mit idHTTP

  Alt 3. Apr 2017, 13:25
Hallo Leute,
ich bin aktuell am verzweifeln. Ich versuche mittels Delphi eine API für Shopware zu machen, damit ich Daten Senden kann.
Abrufen kann ich die Daten mittels IdHTTP.get. Nun versuche ich mittels IdHTTP.put zu Senden, aber dauernd bekomme ich die Meldung 503 Service Unavailable.

Entweder der Fehler ist sehr einfach und ich seh den nicht oder irgendwas anderes stellt sich quer.

PS: Aktuell läuft alles über localhost zu Testzwecken.

Folgende Codebausteine habe ich aktuell

Code:
procedure TFormErsatzteilshopTool.Auth(Sender: TObject; Authentication: TIdAuthentication; var Handled: Boolean);
const
    ls_apiuser = 'ApiName';
    ls_apikey  = 'ApiKey';
begin
  if not(Sender is TIdHTTP) then
  exit;
  Authentication.Username := ls_apiuser;
  Authentication.Password := ls_apikey;
  if Authentication is TIdDigestAuthentication then
  begin
    with Authentication as TIdDigestAuthentication do
    begin
      Uri := (Sender as TIdHTTP).Request.URL;
      Method := (Sender as TIdHTTP).Request.Method;
    end;
  end;
  Handled := True;
end;
Code:
procedure TFormErsatzteilshopTool.AuthPut(Sender: TObject);
var
  s              : String;
  IdHTTP1         : TIdHTTP;
  ResponseStream : TStringStream;
const
    ls_useragent = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0';
    ls_url      = 'http://localhost/Shopware_CE/api/articles';
    ls_language = 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
begin
  IdHTTP1 := TIdHTTP.Create();
  try
    IdHTTP1.OnAuthorization := Auth;

    IdHTTP1.HTTPOptions := [hoInProcessAuth];
    IdHTTP1.Request.UserAgent := ls_useragent;
    IdHTTP1.Request.URL := ls_url;
    IdHTTP1.Request.AcceptLanguage := ls_language;

    s := Memo2.Text;

    ResponseStream := TStringStream.Create(s);

    s := idHTTP1.Put(ls_url, ResponseStream); //Datei senden

    Memo2.Lines.Add(s);
  finally
    IdHTTP1.Free;
  end;
end;
Wo ist mein Fehler? Ich habe keine Idee mehr. Auch Google hilft nicht wirklich. Andere die ähnliche Fehler hatten waren Leider nicht die Lösung bei mir.

PS: Die Daten gebe ich manuell ein, da es fürs Testen schneller geht. Die Daten werden in JSON-Format übermitteln. Folgendes gebe ich ein {"name":"Test"}. Die Schreibweise sollte richtig sein.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Delphi Senden zu Shopware REST API mit idHTTP

  Alt 3. Apr 2017, 14:16
Vielleicht solltest Du auch alle Pflichtfelder / Objekte füllen? "name" reicht wohl nicht aus. Siehe hier
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
GiuStyler

Registriert seit: 28. Mär 2017
2 Beiträge
 
#3

AW: Delphi Senden zu Shopware REST API mit idHTTP

  Alt 3. Apr 2017, 14:40
Funktioniert auch nicht. Gleiche Fehlermeldung.
  Mit Zitat antworten Zitat
Tyrolean

Registriert seit: 3. Jul 2003
76 Beiträge
 
Delphi 7 Professional
 
#4

AW: Delphi Senden zu Shopware REST API mit idHTTP

  Alt 4. Apr 2017, 06:13
Funktioniert auch nicht. Gleiche Fehlermeldung.
Entferne mal bei Daten, die du mit PUT sendest alle Zeilenschaltungen (#13 und #10)
Vielleicht liegt es ja daran. Kommt im Response vielleicht die richtige Fehlermeldung mit?

Und zum Testen von sowas habe ich immer gerne den PostMan von Chrome verwendet.
Oder wenns im Internet erreichbar ist Requestmaker.com

Da kann man schön damit spielen

Geändert von Tyrolean ( 4. Apr 2017 um 06:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz