基于ycommercewebservices创建扩展后启动报错求助
SAP Commerce CXCOMM2105自定义WebServices扩展启动问题解决方案
问题核心原因
自定义trainingcommercewebservices扩展缺少租户激活配置、依赖配置错误,且错误移除了基础WebServices扩展导致OCC路径映射失效。
解决步骤
1. 修正扩展依赖配置
打开localextensions.xml,恢复commercewebservices扩展的引用——自定义扩展基于它构建,不能直接移除:
<!-- 保留自定义扩展 --> <extension name='trainingcommercewebservices' /> <!-- 恢复基础WebServices扩展 --> <extension name='commercewebservices' /> <!-- 确保trainingocc已配置 --> <extension name='trainingocc' />
2. 添加租户激活监听器
编辑trainingcommercewebservices/web/webroot/WEB-INF/web.xml,新增租户初始化与激活的监听器配置,确保启动时自动激活Master租户:
<listener> <listener-class>de.hybris.platform.core.TenantInitListener</listener-class> </listener> <listener> <listener-class>de.hybris.platform.webservicescommons.TenantActivationListener</listener-class> </listener>
3. 验证扩展依赖声明
打开trainingcommercewebservices/extensioninfo.xml,确认依赖配置包含必要扩展:
<requires-extension name="commercewebservices" /> <requires-extension name="trainingocc" /> <requires-extension name="webservicescommons" />
4. 确认OCC路径映射配置
检查trainingcommercewebservices/resources/spring/trainingcommercewebservices-spring.xml,确保正确导入基础WebServices配置并扫描控制器:
<mvc:annotation-driven /> <context:component-scan base-package="com.training.webservices.controller" /> <!-- 导入基础OCC配置 --> <import resource="classpath:/META-INF/ycommercewebservices-spring.xml" />
5. 重新构建并启动
执行以下命令清理并重新构建项目:
ant clean all
启动服务器后,观察控制台日志,确认无no tenant active错误。
验证操作
- 访问
https://localhost:9002/trainingcommercewebservices/v2/swagger-ui.html,确认Swagger界面正常加载 - 访问
https://localhost:9002/occ/v2/swagger-ui.html,检查依赖错误是否消除 - 测试前端
http://localhost:4200/,确认接口调用正常
内容的提问来源于stack exchange,提问作者Bazar Value
相关产品推荐
相关产品推荐

