2020-08-15 07:50发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
SAP Commerce 1905面临与某个验证程序拦截器有关的问题。 这些拦截器引发的异常未在Backoffice通知小部件中正确显示。 取而代之的是,显示一般错误消息"无法更新"或"无法创建"。
当我正在使用SAP Commerce 6.7进行另一个项目时,它没有发生。 您对更改有什么想法,或者如何在Backoffice中再次显示自定义拦截器消息?
谢谢!
你好,
当BackSoffice中发生ModelSavingException时,最终将通过OOTB NotificationService发布NotificationEvent。 可以从每个backoffice扩展名的-backoffice-config.xml文件中配置每个NotificationEvent的消息。
所有模型的创建,更新,删除等默认消息是platformbackoffice扩展的一部分,因此是platformbackoffice-backoffice-config.xml的一部分。
例如,模型更新失败通知的定义如下:
user.notification.items.unable_to_update <!-表单对象中的预期映射->异常->
由于上面的定义对于SAP Commerce 6.7和SAP Commerce 19.05似乎都是相同的,所以我猜测是6.7版本之后ExceptionTranslationService.toString()方法的实现已更改。
话虽如此,为了更改Backoffice中显示的消息,有一些可能的选择,包括但不限于:
P.S。 尽管这是一个古老的问题,但似乎有些人也面临着同样的问题,因此答案就是如此。
BR,
Kremena
我正面临着同样的问题,对此可以使用任何解决方案。
嗨,Kremena,
感谢您的回复。 我在文档中找到以下链接。 但是在1905年找不到为defaultExceptionTranslationService的backoffice-core-spring.xml和bean定义。有什么方法可以启用它。
https://help.sap.com/viewer/ 5c9ea0c629214e42b727bf08800d8dfa/1905/zh-CN/8bc9570b86691014a901c290d2c5f107.html
我可以看到异常显示在我的日志中,但后台办公室的通知区域中没有显示异常。 同样在1808年为我工作。
示例日志
原因:de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator $ MissingMandatoryAttributesException:[de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator@16940d83]:[brandCategoryID,brandLogo, 在模型configuratorModel(<未保存>)中创建新的Configurator jvm 1 | 主| 2020/07/14 13:06:54.054 | 在de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator.onValidate(MandatoryAttributesValidator.java:104)〜[coreserver.jar :?]信息| jvm 1 | 主| 2020/07/14 13:06:54.055 | 在de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(ModelWrapper.java:296)〜[coreserver.jar :?]信息| jvm 1 | 主| 2020/07/14 13:06:54.055 | 在
此致
Amrita
嗨Amrita,
正如您找到的文档中提到的那样,defaultExceptionTranslationService是在backoffice-core-spring.xml中定义的。 您应该可以在/hybris文件夹中找到它。 如果要扩展服务并重新定义bean,则应在自定义扩展中执行。
BR, Kremena
最多设置5个标签!
你好,
当BackSoffice中发生ModelSavingException时,最终将通过OOTB NotificationService发布NotificationEvent。 可以从每个backoffice扩展名的-backoffice-config.xml文件中配置每个NotificationEvent的消息。
所有模型的创建,更新,删除等默认消息是platformbackoffice扩展的一部分,因此是platformbackoffice-backoffice-config.xml的一部分。
例如,模型更新失败通知的定义如下:
由于上面的定义对于SAP Commerce 6.7和SAP Commerce 19.05似乎都是相同的,所以我猜测是6.7版本之后ExceptionTranslationService.toString()方法的实现已更改。
话虽如此,为了更改Backoffice中显示的消息,有一些可能的选择,包括但不限于:
P.S。 尽管这是一个古老的问题,但似乎有些人也面临着同样的问题,因此答案就是如此。
BR,
Kremena
我正面临着同样的问题,对此可以使用任何解决方案。
嗨,Kremena,
感谢您的回复。 我在文档中找到以下链接。 但是在1905年找不到为defaultExceptionTranslationService的backoffice-core-spring.xml和bean定义。有什么方法可以启用它。
https://help.sap.com/viewer/ 5c9ea0c629214e42b727bf08800d8dfa/1905/zh-CN/8bc9570b86691014a901c290d2c5f107.html
我可以看到异常显示在我的日志中,但后台办公室的通知区域中没有显示异常。 同样在1808年为我工作。
示例日志
原因:de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator $ MissingMandatoryAttributesException:[de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator@16940d83]:[brandCategoryID,brandLogo, 在模型configuratorModel(<未保存>)中创建新的Configurator jvm 1 | 主| 2020/07/14 13:06:54.054 | 在de.hybris.platform.servicelayer.interceptor.impl.MandatoryAttributesValidator.onValidate(MandatoryAttributesValidator.java:104)〜[coreserver.jar :?]信息| jvm 1 | 主| 2020/07/14 13:06:54.055 | 在de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(ModelWrapper.java:296)〜[coreserver.jar :?]信息| jvm 1 | 主| 2020/07/14 13:06:54.055 | 在
此致
Amrita
嗨Amrita,
正如您找到的文档中提到的那样,defaultExceptionTranslationService是在backoffice-core-spring.xml中定义的。 您应该可以在/hybris文件夹中找到它。 如果要扩展服务并重新定义bean,则应在自定义扩展中执行。
BR,
Kremena
一周热门 更多>