Problème

Lorsque vous tentez d’adapter le résolveur de ressource à un objet CommerceService, par exemple dans le code ci-dessous, il renvoie la valeur nul ou « indéfinie » :

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

Dans ce cas, la catégorie com.adobe.cq.commerce.api.CommerceService est disponible dans la catégorie OSGi Class Loader. Pour confirmer cette action, reportez-vous à la console OSGi à l’aide de l’outil http://aem-host:port/system/console/depfinder. 

 

Cause

Ce problème est inhérent à la conception.

Résolution

Implémentez vos propres versions des services fournis dans cq-geometrixx-commons-core bundle provided under /apps/geometrixx-commons lors de l’implémentation d’une application à l’aide de AEM Commerce APl.

Les Geometrixx sont simplement des exemples et il n’est pas recommandé d’installer Geometrixx en production pour des raisons de sécurité. Si vous n’implémentez pas votre propre version de CommerceServiceFactory, vous pouvez l’exécuter dans le problème décrit ci-dessus si Geometrixx n’est pas installé. 

Consultez le code source d’exemple fourni avec AEM sous ces chemins :

/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 

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne