Сервисный модуль SAP Hybris Assisted (ASM) - не удается сгенерировать компонент - PullRequest
1 голос
/ 07 июня 2019

Я успешно установил и протестировал ASM на своем локальном хосте (мы используем Hybris 1811). Затем я хотел перенести его на наш dev-сервер (на самом деле это были только изменения в localextensions.xml и восстановленные extensionsinfo.xml), поэтому в extensionsinfo.xml моей витрины есть аддон, зарегистрированный следующим образом:

<requires-extension name="assistedservicestorefront "/>

Но он не генерирует файлы в представлениях:

[DefaultCMSComponentRendererRegistry] Error processing component tag. currentComponent [AssistedServiceComponentModel (8796814312508@2)] exception: 
File [&#47;WEB-INF&#47;views&#47;responsive&#47;cms&#47;assistedservicecomponent.jsp] not found

Я импортировал тот же файл .impex, что и в руководстве по установке ASM (из help.hybris.com) и на локальный хост (cms-content.impex для включения компонента и Jsp).

Несмотря на то, что я запускаю обновление в HAC, я пытался синхронизировать каталог контента. Я проверил расширения в HAC, он содержит те же расширения ASM, что и на моей локальной машине: assistedservicefacades, assistedserviceservices, assistedservicestorefront. Когда я проверил backoffice, компонент с этим идентификатором действительно есть и находится в онлайн-каталоге.

Как мне сделать эти файлы для генерации? Или я должен как-то переопределить их с моими пользовательскими представлениями? Но я думаю, что это был бы плохой подход.

ОБНОВЛЕНИЕ: Я также пытался добавить эту запись в project.properties моего магазина:

sikob2cstorefront.additionalWebSpringConfigs.assistedservicestorefront=classpath\:/assistedservicestorefront/web/spring/assistedservicestorefront-web-spring.xml

но я получил ошибку при загрузке bean-компонентов:

Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultStorefrontTenantDefaultFilterChainList': Post-processing of FactoryBean's singleton object failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AssistedservicestorefrontFilterListMergeDirective' defined in class path resource [assistedservicestorefront/web/spring/assistedservicestorefront-web-spring.xml]: Cannot resolve reference to bean 'assistedServiceFilter' while setting add; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'assistedServiceFilter' defined in class path resource [assistedservicestorefront/web/spring/assistedservicestorefront-web-spring.xml]: Cannot resolve reference to bean 'assistedServicePathRestrictionEvaluator' while setting bean property 'assistedServicePathRestrictionEvaluator'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'assistedServicePathRestrictionEvaluator' available

1 Ответ

2 голосов
/ 07 июня 2019
# Install assistedservicestorefront
# Replace Mystorefront with your storefront extension name
ant addoninstall -Daddonnames="assistedservicestorefront" -DaddonStorefront.yacceleratorstorefront="Mystorefront"

Я думаю, что вы пропустили установку дополнения assistedservicestorefront или, если вы уже установили, проверьте, не произошли ли ниже изменения на вашем сервере.

Команда addoninstall вносит изменения ниже

  • Добавляет вспомогательные службы storefront в extensioninfo.xml вашего расширения магазина

    подобно <requires-extension name="assistedservicestorefront "/>

  • Создание нового project.properties файл из project.properties.template внутри assistedservicestorefront, в котором есть следующие записи.

Замените yacceleratorstorefront именем расширения вашего магазина в указанном ниже свойстве.

#Specifies the location of the spring context file added automatically to the global platform application context.
assistedservicestorefront.application-context=assistedservicestorefront-spring.xml

yacceleratorstorefront.additionalWebSpringConfigs.assistedservicestorefront=classpath:/assistedservicestorefront/web/spring/assistedservicestorefront-web-spring.xml


assistedservicestorefront.javascript.paths.mobile=/responsive/common/js/assistedservicestorefront.js;/responsive/common/js/jquery.tablesorter.pager.js;/responsive/common/js/jquery.tablesorter.min.js;/responsive/common/js/Chart.min.js;/responsive/common/js/asm.storefinder.js
assistedservicestorefront.javascript.paths.responsive=/responsive/common/js/assistedservicestorefront.js;/responsive/common/js/jquery.tablesorter.pager.js;/responsive/common/js/jquery.tablesorter.min.js;/responsive/common/js/Chart.min.js;/responsive/common/js/asm.storefinder.js

assistedservicestorefront.css.paths.mobile=/responsive/common/css/assistedservicestorefront.css;/responsive/common/css/storeFinder.css;/responsive/common/css/customer360.css
assistedservicestorefront.css.paths.responsive=/responsive/common/css/assistedservicestorefront.css;/responsive/common/css/storeFinder.css;/responsive/common/css/customer360.css

assistedservicestorefront.redirect.customer_and_cart=/cart
assistedservicestorefront.redirect.customer_only=/my-account
assistedservicestorefront.redirect.error=/
assistedservicestorefront.redirect.order=/my-account/order/%s

assistedservicestorefront.deeplink.link=/assisted-service/emulate

cscokpit.assistedservice.deeplink=true
assistedservicestorefront.profile.cookie.name=profile.tracking.pause

#AIF AJAX call timeout in milliseconds
assistedservicestorefront.aif.timeout=7000

Так что, если вы не хотите запускать команду addoninstall в каждой среде, вы можете вручную сделать эти два изменения.Вы можете обратиться к созданному файлу project.properties внутри своего аддона и скопировать все эти свойства в файл project.properties или local.properteis вашей витрины и зафиксировать изменения.

...