Hallo zusammen, hab gerade meinen Shop auf 4.0.6 geupdatet. Ich betanke meinen Shop über die REST-API, mit 4.0.5 lief alles einwandfrei. Seit dem Update auf 4.0.6 erhalte ich keine Rückinfo der API. Diese lieferte bislang zum Beispiel die ID eines frisch angelegten Artikels zurück, jetzt kommt garnix zurück. Die API macht auch keine Updates mehr in der Datenbank, da passiert einfach nix. Andere Fehler, wie zB falsche Anmeldedaten erhalte ich allerdings weiterhin, aber der Update eines Artikels bleibt unbeantwortet… Ist das ein Bug? Hat sich was in 4.0.6 geändert? Gruß Icebreaker
Kleines Update: Ich kriege vom Server als Antwort lediglich einen 302. Hierzu gibt es sogar einen Eintrag im Bugtracker: SW-5064 und einen Forumseintrag: viewtopic.php?t=10963&p=52227 Die Lösung im Bugtracker funktioniert allerdings nicht, da passiert genauso wenig wie vorher. Ich habe das Problem auch erst seit dem Update auf 4.0.6, unter 4.0.5 lief alles einwandfrei…! Hat jemand noch Ideen? Gruß Icebreaker
Hallo, wir haben hier gerade mehrere Konstellationen getestet. Wir konnten bisher das Verhalten nicht nachstellen. Auch hat sich hier nichts in der API auf 4.0.6 verändert was auf dem ersten Blick das Verhalten erklären würde. Könnten Sie uns einmal Ihre Zugangsdaten(FTP, Backend-Login, phpMyAdmin) an entwicklung@shopware.de zukommen lassen? Dann können wir einmal über Ihre Einstellungen schauen. Viele Grüße, Marcel
Hallo, wir haben uns das Verhalten nochmal angesehen. Die von der API zurück gelieferten JSON-Strings haben ungültige Whitespace-Zeichen angehängt (s. Screenshots). Das betrifft sowohl die GET als auch die PUT-Anfragen. Wir können zur Zeit keinen Zusammenhang mit Änderungen der 4.0.6. feststellen. Mögliche Änderungen, die das Redirect-Verhalten betreffen, gab es im InputFilter und dem Router (beides SW-Plugins), die wir auf dem Testsystem als Fehlerquelle aber ausschließen konnten und die darüber hinaus beide explizit Ausnahmen für API-Requests definieren. Insofern würden wir darum bitten, etwaige Plugins von Drittherstellern als Fehlerquelle auszuschließen und dabei jeweils den Cache zu leeren. Eine übliche Fehlerquelle sind in diesem Zusammenhang Plugins, die sich bspw. auf den globalen PostDispatch registrieren und ohne besondere Prüfung Ausgaben machen. Weiterhin sollten etwaige Kodierungsprobleme ausgeschlossen werden. Wir haben auch festgestellt, dass die fraglichen Zeichen auch bei anderen GET-Requests (bspw. auf den Shop) zurück geliefert werden (siehe Bild "whitespace3.PNG). Für weitere Hinweise und Rückmelden wären wir in jedem Fall dankbar. Besten Gruß, Daniel
Hallo Daniel, besten Dank schonmal fürs nachschauen. Ich habe alle Plugins nacheinander deaktiviert und habe des Rätsels Lösung gefunden: Plugin 1: „Detailseite Herstellerbild“ Nach Deaktivierung sind die Whitespaces weg. Die Whitespaces haben mich aber nie gestört, habe sie einfach vor Dekodierung des JSON-Strings abgeschnitten. Plugin 2: „Selfhealing“ Nach Deaktivierung läuft die REST-API wieder einwandfrei und ich kriege wieder Rückmeldungen. (BINGO!) Man kann das Verhalten der REST-API mit An-/Abschalten dieser beiden Addons nachstellen und verifizieren. Alle anderen Addons habe ich wieder aktiviert, alles läuft weiterhin ok. Ist das Plugin „Selfhealing“ denn wichtig? Gruß icebreaker
Hi, ja du benötigst das Self-Healing Plugin auf jeden Fall. Dieses kümmert sich um die korrekte Generierung der Attribut-Models. Wir haben es bei dir wieder aktiviert. Es liegt wohl eher am Plugin „Detailseite Herstellerbild“ dieses enthält direkt am Anfang falsch Codierte Zeichen. Bei unseren Tests konnten wir keine Probleme mehr mit der API auf Ihrem System feststellen. Es lag also weder am Update auf 4.0.6 noch am Self-Healing Plugin. Bitte testen Sie selber noch einmal das Verhalten. Falls Sie immer noch keine Put Anfragen durch bekommen, löschen Sie das Plugin „Detailseite Herstellerbild“ noch einmal komplett aus dem Pluginmanager und vergewissern Sie sich auch noch einmal, dass es auf dem Filesystem entfernt wurde. Falls das Verhalten hierdurch gelöst ist, bitten wir Sie den Namen des Threads anzupassen, damit dieser besser aktuell ist. Viele Grüße, Marcel
Hallo Marcel, vielen Dank für die Antwort! Leider bleibt es ein bisschen Mysterium, da ich bei meiner Aussage bleibe das es erst nach Deaktivierung des Plugins “Selfhealing” wieder funktioniert hat. Ich habe allerdings in der Zwischenzeit alle Artikel aus dem Shop gelöscht, vielleicht war dort irgendetwas in der Datenbank was das Problem verursacht hatte. Oder eine Kombination aus allem… Auf jeden Fall funktioniert nun wieder alles, das Plugin “Detailseite Herstellerbild” bleibt abgeschaltet. Vielen Dank! Gruß icebreaker
Hallo, das kann ich so leider nicht bestätigen. Wir haben gestern einige Tests in Ihrem System durchgeführt und hier viel eindeutig auf, dass das Verhalten nichts mit den Self-Healing Plugin zu tun hat. Unsere Testauflistung: Das Self-Healing Plugin war hier die ganze Zeit aktiv. * Aktives “Detailseite Herstellerbild” Plugin: Weder GET noch PUT Anfragen haben in der REST-API auf Ihrem Shop funktioniert. * Deaktiviertes “Detailseite Herstellerbild” Plugin: GET, POST und PUT Anfragen liefen ohne Probleme durch. Aus diesem Grund können wir ein Problem mit dem Self-Healing Plugin ausschließen. Viele Grüße, Marcel
Hallo Marcel, nicht aufregen Ich hab allerdings immernoch mit dem Problem zu kämpfen, allerdings nicht mehr mit jedem JSON-Zugriff, sondern nur mit einzelnen. Die Plugin-Situation ist folgende: - „Detailseite Herstellerbild“ deinstalliert und gelöscht - alle anderen Plugins aktiv Ich habe einen der Problemfall-Strings an dich gemailt. Da ich viele ähnliche Artikel habe sehen die JSON-Strings alle recht ähnlich aus, ein grosser Teil hat auch funktioniert. Bei Fehlern im String habe ich auch immer die entsprechende Antwort erhalten, aber bei dem Beispiel kommt garkeine Response…? Ich befürchte, das ich das nicht mehr nachstellen kann wenn ich die Plugins deaktiviere, daher habe ich erstmal alles so gelassen und nur das blöde Herstellerbild mal richtig gelöscht. Gruß icebreaker
Hallo, bitte erstellen Sie für dieses Thema einen neuen Thread. Da es sich wohl um ein anderes Verhalten handelt. Viele Grüße, Marcel
Hallo Marcel, danke für diesen Tipp: programmierung-f56/rest-api-put-oder-post-t9821.html Das hat geholfen. Gruß Micha