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


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


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)


Lesenswert?

500 ist ein Serverfehler.

Schau doch mal was in den Logs steht!?

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


Lesenswert?

In welchen Logs?
Ist eine Wordpress Installation auf einem managed Server.

von waflija (Gast)


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)


Lesenswert?

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

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


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)


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)


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)


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)


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)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.