验证器消息未在Backoffice中正确显示-SAP Commerce 1905

2020-08-15 07:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 SAP Commerc...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

SAP Commerce 1905面临与某个验证程序拦截器有关的问题。 这些拦截器引发的异常未在Backoffice通知小部件中正确显示。 取而代之的是,显示一般错误消息"无法更新"或"无法创建"。

当我正在使用SAP Commerce 6.7进行另一个项目时,它没有发生。 您对更改有什么想法,或者如何在Backoffice中再次显示自定义拦截器消息?

谢谢!

4条回答
zZ12138
2020-08-15 08:05

你好,

当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中显示的消息,有一些可能的选择,包括但不限于:

  • 重写OOTB ExceptionTranslationService.toString()方法,以便它返回所需的自定义消息。 不用说,这将覆盖整个系统中该方法的所有用法。
  • 在您的自定义后台扩展中重新定义eventType =" UpdateObject" level =" FAILURE"的通知元素,以使其完全不使用ExceptionTranslationService。

P.S。 尽管这是一个古老的问题,但似乎有些人也面临着同样的问题,因此答案就是如此。

BR,

Kremena

一周热门 更多>