点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,当客户注册新帐户时hybris尝试发送电子邮件时,控制台中会出现以下错误,并且与对EmailPage的'forName'属性的查找有关:
(包括完整的日志作为附件)
错误[TaskExecutor-master-174-ProcessTask [8796355330998]] [ProcessengineTaskRunner]执行ID为[generateCustomerRegistrationEmail]的ActionNode时出错: en_gb没有匹配的DataLocale (在可用语言环境{fr_BE上尝试了[en_gb] = fr_BE-> fr_BE,en = zh-> en,fr_CH = fr_CH-> fr_CH,sv = sv-> sv,cs = cs-> cs,nl_BE = nl_BE-> nl_BE,nl_NL = nl_NL-> nl_NL,de_DE = de_DE-> de_DE,sk = sk-> sk,fr = fr-> fr,nl = nl-> nl,es = es-> es,de_AT = de_AT-> de_AT,de = de-> de,de_CH = de_CH -> de_CH,fr_FR = fr_FR-> fr_FR,da = da-> da,it = it-> it, en_GB = en_GB-> en_GB ,en_AU = en_AU-> en_AU})
这是一个错误吗? 我认为查询应该不区分大小写...
关于如何以干净的方式解决此问题的任何想法? 还是杂音可以为此提供补丁?
997-nomatchingdatalocale.txt (5.4 kB)
我有同样的问题。 永远不要使用默认的
Locale
构造函数将hybris语言模型转换为Java语言环境,例如区域设置=新的区域设置(languageModel.getIsocode())
改为使用
CommonI18NService.getLocaleForLanguage()
,例如:或使用返回Java语言环境的
I18NService
Richard,谢谢您的回复。 是的,我们有多个变体,en_GB和en_AU。 每个店面都使用主要语言的本地变体...。我采用了AbstractEmailContext的init方法,并将其放入店面的CustomerEmailContext中,并注释了以下几行:
这可行,但是我想这个方法现在总是返回'en'值? 我还没有时间自己进行测试
修复是在AbstractEmailContext中使用更新的代码。修复是覆盖AbstractEmailContext,如下所示:
来自
String fromName = emailPageModel.getFromName(new Locale(language.getIsocode())); //第116行//de.hybris.platform.acceleratorservices.process.email.context.AbstractEmailContext.init(T,EmailPageModel)
到
最后的String [] loc = Utilities.parseLocaleCodes(language.getIsocode()); 字符串fromName = emailPageModel.getFromName(new Locale(loc [0],loc [1],loc [2]));
将更新的AbstractEmailContext复制到定制文件夹。 然后运行ant clean全部定制。 因此,在新环境上使用该代码时,将使用更新的AbstractEmailContext而不是出现DataLocale问题的代码。
一周热门 更多>