Problem

Wenn Sie versuchen, den Resolver an ein CommerceService anzupassen, z. B. im folgenden Code, wird „null“ oder „undefined“ zurückgegeben:

var commerceService = resource. getResourceResolver(). adaptTo( com. adobe. cq. commerce. api.CommerceService); 

In diesem Fall ist die Klasse „com.adobe.cq.commerce.api.CommerceService“ im „OSGi Class Loader“ verfügbar. Um dies zu überprüfen, rufen Sie die OSGi-Konsole mit dem „http://aem-host:port/system/console/depfinder“-Tool auf. 

 

Ursache

Dieses Problem ist so gedacht.

Lösung

Implementieren Sie Ihre eigenen Versionen der Dienste, die im unter /apps/geometrixx-commons bereitgestellten Bundle bereitgestellt werden, wenn Sie eine Anwendung mit den AEM-Commerce-APls implementieren.

Die Geometrixx sind nur Beispiele. Es wird nicht empfohlen, Geometrixx aus Sicherheitsgründen in der Produktionsumgebung zu installieren. Wenn Sie Ihre eigene Version von CommerceServiceFactory nicht implementieren, führen Sie das oben beschriebene Problem aus, falls Geometrixx nicht installiert ist. 

Sehen Sie sich den Beispielquellcode an, der mit AEM unter diesen Pfaden geliefert wird:

/apps/geometrixx-
commons/src/core/src/main/java/info/geometrixx/commons/impl/GeoCommerceServicelmpl.java 
/apps/geometrixx-
commons/src/core/src/main/java/info/geometrixx/commons/impl/GeoCommerceServiceFactory.java 
/apps/geometrixx-
commons/src/core/src/main/java/info/geometrixx/commons/impl/GeoCommerceSessionlmpl.java 
/apps/geometrixx-commons/src/core/src/main/java/info/geometrixx/commons/impl/productrelationships 

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie