Problema

Ao tentar adaptar o resolvedor de recurso a um objeto CommerceService, por exemplo, no código abaixo, ele retorna null ou "undefined":

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

Nesse caso, a classe com.adobe.cq.commerce.api.CommerceService está disponível no Carregador de classes OSGi. Para confirmar isso, consulte o console do OSGi usando a ferramenta http://aem-host:port/system/console/depfinder. 

 

Causa

Esse problema é por design.

Resolução

Implemente suas próprias versões dos serviços fornecidos no pacote cq-geometrixx-commons-core fornecido em /apps /geometrixx-commons, ao implementar um aplicativo usando o AEM Commerce APls.

Os Geometrixx são apenas amostras, e não é recomendado instalar o Geometrixx na produção, por razões de segurança. Se você não implementar sua própria versão do CommerceServiceFactory, então você se depararia com o problema descrito acima se o Geometrixx não estiver instalado. 

Veja o exemplo do código-fonte que acompanha o AEM sob esses caminhos:

/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 

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online