Problema
Quando cerchi di adattare il risolutore di risorse ad un oggetto CommerceService, per esempio al codice sottostante, restituisce il messaggio nullo o "non definito":
var commerceService = resource. getResourceResolver(). adaptTo( com. adobe. cq. commerce. api.CommerceService);
In questo caso, il servizio class com.adobe.cq.commerce.api.CommerceService è disponibile nel Class Loader di OSGi. Per confermare, fai riferimento alla console OSGi utilizzando lo strumento http://aem-host:port/system/console/depfinder.
Causa
Questo problema è di progettazione.
Risoluzione
Implementa le tue versioni dei servizi forniti nel pacchetto cq-geometrixx-commons-core fornito sotto /apps/geometrixx-commons, quando implementi un'applicazione utilizzando gli APl di AEM Commerce.
Quelli di Geometrixx sono solo campioni e non è consigliabile installare Geometrixx in produzione, per motivi di sicurezza. Se non implementi la tua versione di CommerceServiceFactory, incontrerai il problema descritto sopra se Geometrixx non è installato.
Vedi il codice sorgente campione che viene inviato con AEM sotto questi percorsi:
/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
Accedi al tuo account