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
 
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
 


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 10:56 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 by Thomas Breitkreuz