Forum: PC Hard- und Software Serverfehler 500 bei REST API Abfrage


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Bewertung
0 lesenswert
nicht lesenswert
Hey Leute,

Habe ein Problem bei einer Woocommerce REST API Abfrage.
Es muss irgendwas am Server sein.
SÄMTLICHE REST CLIENTS FUNKTIONIEREN NICHT.
Weder mit Basic noch mit  OAuth 1 Authorization.

Es kommt immer wieder Serverfehler 500.
Das komische ist aber, das der Benutzer und Passwort stimmen.
Habe ich schon mehrfach neu generiert und auch alle Cachingplugins 
deaktiviert.

Sende ich ein GET an z.Bsp. die Seite 
https://www.example.com/wp-json/wc/v1/products bekomme ich im Header 
einen Fehler 500 zurück.

Die Rest API ist aktiviert und auch die die Kommentare usw. sind laut 
https://woocommerce.github.io/woocommerce-rest-api-docs/wp-api-v1.html 
eingestellt.

Hat das schonmal jemand gehabt?

von T.roll (Gast)


Bewertung
0 lesenswert
nicht lesenswert
500 ist ein Serverfehler.

Schau doch mal was in den Logs steht!?

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Bewertung
0 lesenswert
nicht lesenswert
In welchen Logs?
Ist eine Wordpress Installation auf einem managed Server.

von waflija (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Fred R. schrieb:
> In welchen Logs?
> Ist eine Wordpress Installation auf einem managed Server.

Auch da gibts in der Regel eine Möglichkeit sich die Apache? Logs 
anzeigen zu lassen. Ansonsten musst du bei dem Anbieter ein 
entsprechendes Ticket mit möglichst genauer Beschreibung aufmachen. Hier 
im Forum kann man ohne Zugriff auf die Logs nur raten.

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt nur eine access.log.
da steht aber nicht wirklich das erhoffte drinnen.

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Wordpress ist doch PHP, oder? Dann findest du alle Meldungen wohl in den 
PHP logs, sofern Wordpress auf "geschwätzig" gestellt ist.

von imonbln (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Fred R. schrieb:
> Das komische ist aber, das der Benutzer und Passwort stimmen.
> Habe ich schon mehrfach neu generiert und auch alle Cachingplugins
> deaktiviert.

laut https://docs.woocommerce.com/document/woocommerce-rest-api/ 
brauchst du keinen Username/password sondern  Consumer Key und Consumer 
Secret. Hast du diese und auch im Header an den Server gesendet?

Ansonsten die Dokumentation 
http://woocommerce.github.io/woocommerce-rest-api-docs/ ist dein freund 
unter der ersten URL sind auch ein paar Libraries welche dir helfen 
könnten.

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Bewertung
0 lesenswert
nicht lesenswert
imonbln schrieb:
> laut https://docs.woocommerce.com/document/woocommerce-rest-api/
> brauchst du keinen Username/password sondern  Consumer Key und Consumer
> Secret. Hast du diese und auch im Header an den Server gesendet?

Es wurden fertige Programme verwendet, um Fehler in meinem Programm 
auszuschliessen. (RESTClient,HttpRequester,...)

In der access.log sehe ich noch den Zugriff:
212.41.232.XXX - - [12/Apr/2017:07:09:40 +0200] "GET 
/wp-json/wc/v1/products HTTP/1.1" 200 521 "-" "-" www.GeänderteURL.at

von waflija (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Fred R. schrieb:
> 212.41.232.XXX - - [12/Apr/2017:07:09:40 +0200] "GET
> /wp-json/wc/v1/products HTTP/1.1" 200 521 "-" "-" www.GeänderteURL.at

Das heißt der Server kennt die URL und liefert sie mit 200-OK aus.

Da hilft nur sich die Antwort des Servers mal an zu sehen. als Firefox / 
IE / Chrome - F12 und dann das Netzwerkprotokoll einschalten - Anfrage 
absetzen und sich dort die Kommunikation mal genauer ansehen. Bei einer 
guten Schnittstelle sollte dort ein entsprechender Fehler im JSON zurück 
kommen. In jedem Fall ist das ein Problem mit deinen Skripten, nicht mit 
dem Hoster.

PS: Auch bei fertigen Apps muss die API-Keys entsprechend eintragen bzw. 
je nach Anwendung dem Server bekannt machen. Sonst wird das nix.

von imonbln (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Fred R. schrieb:
> Es wurden fertige Programme verwendet, um Fehler in meinem Programm
> auszuschliessen. (RESTClient,HttpRequester,...)

Weder RESTClient nooch HttpRequester wissen Out of the box etwas von 
Consumer Key und Consumer Secret. Solange du also nicht eine der 
Libraries aus der Dokumentation verwendest hast du ein gewisses Rest 
Risiko doch was falsch zu machen.

Gegebenenfalls hilft es dir wenn du mal Wireshark oder Firebug oder 
ähnliches mit laufen lässt um dir anzusehen was da über die Leitung 
kommt.

waflija schrieb:
> Das heißt der Server kennt die URL und liefert sie mit 200-OK aus.
> [...]
> Bei einer
> guten Schnittstelle sollte dort ein entsprechender Fehler im JSON zurück
> kommen.

200 und eine Fehlermeldung in JSON. Also das wäre IMHO ein Fehler der 
Woocommerce REST API. Bei einen Fehler sollte da ein 4xx oder 5xx 
zurückkommen.

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Bewertung
0 lesenswert
nicht lesenswert
Fehler gefunden.
Scheinar hat ein Update das WooCommerce Germanized Plugin zerschossen.
Warum das mit in die API eingreift ist mir jetzt schleierhaft.

Nun läuft meine eigene Anwendung auch wieder :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.