Wir haben seit einem Update von 5.5.3 auf 5.5.7 ein Problem beim Zugriff auf die Artikel Resource. Wichtig ist hier dass es sich nicht um die REST API sondern um den direkten Zugriff (in Shopware 4 ‘lokale API’ genannt) handelt der wie folgt aussieht:
Funktionierte in 5.5.3 noch jedoch seit 5.5.7 schlägt dieser Call immer fehl. Zudem auch ohne sichtbare Exceptions im Log. Ein Custom Plugin geht folglich seit dem Update nicht mehr richtig und das Debugging erweist sich ebenfalls als äußerst schwierig.
Das seltsame daran ist, dass andere Resourcen wie z.B. Category, Order etc. weiterhin problemlos funktionieren z.b.
Funktionierte in 5.5.3 noch jedoch seit 5.5.7 schlägt dieser Call immer fehl. Zudem auch ohne sichtbare Exceptions im Log.
Wie macht sich das Problem genau bemerkbar bzw. woher weißt Du, dass es am Aufruf der Artikel-Ressource liegt, wenn Du keine Exception erhältst?
Weil die unmittelbar nächste Code-Zeile einfach nicht mehr ausgeführt wird. Das Problem liegt nicht direkt in der getResource(…) Methode sondern im weiteren Programmverlauf innerhalb von Shopware()->Container() in der doLoad(…) Methode zu passieren. Jedenfalls kommt kein Article Resource Objekt mehr retour und der PluginCode (wir über einen CronJob getriggert) hört dort zu laufen auf.
Ist diese Art des Zugriffs wie oben beschrieben in Shopware 5.5 überhaupt noch unterstützt? Man findet nämlich in der aktuellen Dokumentation ja gar keine Informationen mehr zur damals verfügbaren „lokalen API“. Im neuen Developer Guide gibt es ja „nur“ noch die REST API?
Die Methode \Shopware\Components\Api\Manager::getResource() wurde kürzlich auf jeden Fall überarbeitet und wirft unter Umständen einen E_USER_DEPRECATED-Fehler oder eine Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException .
Warum sie aber bei der Article-Ressource ein Problem erzeugt, weiß ich nicht.
Evtl. mal die betreffende Code-Stelle in ein try/catch einbetten und so eine mögliche Exception loggen.