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
Accéder à votre compte