业务流程,邮件和上下文问题

2020-09-21 14:03发布

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

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


专家您好,

我遇到了一个问题,但看不到我做错了什么。 请注意,我正在使用Hybris 5.7。

因此,我尝试在定义的事件后发送电子邮件,因此我按照以下步骤1- https://wiki.hybris.com/pages/viewpage.action?spaceKey=accdoc&title=业务+流程+和事件#BusinessProcessesandEventing-业务流程和事件

2- https://wiki.hybris。 com/display/accdoc/Email + WCMS + and + Process + Engine + Integration

一切似乎都很好,我从CustomerRegistrationEmailProcess和forgottenPasswordEmailProcess中得到了很大的启发,除了在触发事件时,未解析为rendererTemplate定义的上下文。 好像没有实例化bean。 (由于getApplicationContext()。getBeansOfType(contextClass);返回一个空的映射,所以从DefaultEmailContextFactory#resolveEmailContext引发了异常)

  • 我的活动在我项目的* facade中。

  • 扩展AbstractCommerceUserEvent

  • 我的eventListener在事件旁边,并扩展了AbstractEventListener

  • 我的上下文也位于* facade中,但位于另一个包中,并扩展了AbstractEmailContext

我现在不缺少我想要的东西。 我什至试图将链接到我的rendererTemplate的hmc,context类更改为类似于CustomerEmailContext的标准类,但是我仍然遇到此错误。

您能帮我看看我在想什么吗?

问候。

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

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


专家您好,

我遇到了一个问题,但看不到我做错了什么。 请注意,我正在使用Hybris 5.7。

因此,我尝试在定义的事件后发送电子邮件,因此我按照以下步骤1- https://wiki.hybris.com/pages/viewpage.action?spaceKey=accdoc&title=业务+流程+和事件#BusinessProcessesandEventing-业务流程和事件

2- https://wiki.hybris。 com/display/accdoc/Email + WCMS + and + Process + Engine + Integration

一切似乎都很好,我从CustomerRegistrationEmailProcess和forgottenPasswordEmailProcess中得到了很大的启发,除了在触发事件时,未解析为rendererTemplate定义的上下文。 好像没有实例化bean。 (由于getApplicationContext()。getBeansOfType(contextClass);返回一个空的映射,所以从DefaultEmailContextFactory#resolveEmailContext引发了异常)

  • 我的活动在我项目的* facade中。

  • 扩展AbstractCommerceUserEvent

  • 我的eventListener在事件旁边,并扩展了AbstractEventListener

  • 我的上下文也位于* facade中,但位于另一个包中,并扩展了AbstractEmailContext

我现在不缺少我想要的东西。 我什至试图将链接到我的rendererTemplate的hmc,context类更改为类似于CustomerEmailContext的标准类,但是我仍然遇到此错误。

您能帮我看看我在想什么吗?

问候。

付费偷看设置
发送
4条回答
Baoming ROSE
1楼-- · 2020-09-21 14:18

嗨Loic,

能否请您检查是否在facades-spring.xml中为上下文类创建了一个bean。 仅当注册了Bean时,才会标识该Bean。

getApplicationContext()。getBeansOfType(contextClass); 返回空映射意味着您的上下文Bean未在应用程序上下文中注册。 因此,请为您的上下文类注册一个bean,这样您就可以解决问题了。

此致

Raghavendra。

My梦
2楼-- · 2020-09-21 14:28

你好Raghavendra。

是的,我已经为要在* facades-spring.xml中使用的上下文类创建了一个bean。 我在标准中的其他类(customerEmailContext,b2bForgottenPasswordEmailContext等)的旁边创建了它,但是在调试调用getApplicationContext()。getBeansOfType(contextClass)时,似乎未注册这些类。 制造。 我都尝试了。

关于。

哎,真难
3楼-- · 2020-09-21 14:15

嗨,

您的电子邮件上下文类是否使用以下流程类型扩展AbstractEmailContext:

 公共类CustomEmailContext扩展了AbstractEmailContext 

  

和您的流程xml

  processClass =" com.custom.core.model.CustomEmailProcessModel"

  
SAP砖家
4楼-- · 2020-09-21 14:35

您是对的。 它与店面无关。 我认为我通过对从文档和样本中复制/粘贴的内容格外关注来解决了该问题。 查看您的bean" generateBlaBlaAction",并确保您的frontendTemplateName与您添加到CMS的内容匹配。 如果我没记错的话,那是我的错误。

一周热门 更多>