Hybris 6.0.0.1 NullPointerException,同时为旋转的图像组件创建标题元素

2020-09-26 05:24发布

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

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


当我们尝试创建横幅组件时,我们有NPE

 信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  2016年7月5日11:12:12 org.zkoss.zk.ui.impl.HybrisUiEngineImpl handleError:1616
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 | 严重:>> java.lang.NullPointerException
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getMethodForClass(ItemModelConverter.java:3079)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getLocalizedSetter(ItemModelConverter.java:3112)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.getLocalizedSetter(ItemModelConverter.java:3188)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.setAttributeValue(ItemModelConverter.java:1148)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.setAttributeValue(DefaultModelService.java:836)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.setModelLocalizedValue(DefaultGenericItemMandatoryPageController.java:425)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.validate(DefaultGenericItemMandatoryPageController.java:193)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.Wizard.doDone(Wizard.java:526)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.generic.GenericItemWizard.doDone(GenericItemWizard.java:680)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在java.lang.reflect.Method.invoke(Method.java:498)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeMethod(Reflect.java:134)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeObjectMethod(Reflect.java:80)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Name.invokeMethod(Name.java:858)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:645)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:739)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:119)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:310)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:797)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:176)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446)


  

我们将de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter 6.0与5.7进行了比较,区别是:

5.7:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          Preconditions.checkArgument(foundMethod!= null,"在模型类" + modelClass.getName()处找不到属性的设置器+ attributeName +"和值\'" + attributeValue +" \'));
          返回foundMethod;
      }

  

6.0:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          返回foundMethod;
      }
  
6048-screen-shot-2016-06-30-at-44338-pm .jpg (209.8 kB)

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

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


当我们尝试创建横幅组件时,我们有NPE

 信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  2016年7月5日11:12:12 org.zkoss.zk.ui.impl.HybrisUiEngineImpl handleError:1616
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 | 严重:>> java.lang.NullPointerException
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getMethodForClass(ItemModelConverter.java:3079)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getLocalizedSetter(ItemModelConverter.java:3112)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.getLocalizedSetter(ItemModelConverter.java:3188)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.setAttributeValue(ItemModelConverter.java:1148)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.setAttributeValue(DefaultModelService.java:836)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.setModelLocalizedValue(DefaultGenericItemMandatoryPageController.java:425)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.validate(DefaultGenericItemMandatoryPageController.java:193)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.Wizard.doDone(Wizard.java:526)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.generic.GenericItemWizard.doDone(GenericItemWizard.java:680)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在java.lang.reflect.Method.invoke(Method.java:498)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeMethod(Reflect.java:134)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeObjectMethod(Reflect.java:80)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Name.invokeMethod(Name.java:858)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:645)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:739)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:119)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:310)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:797)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:176)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446)


  

我们将de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter 6.0与5.7进行了比较,区别是:

5.7:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          Preconditions.checkArgument(foundMethod!= null,"在模型类" + modelClass.getName()处找不到属性的设置器+ attributeName +"和值\'" + attributeValue +" \'));
          返回foundMethod;
      }

  

6.0:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          返回foundMethod;
      }
  
6048-screen-shot-2016-06-30-at-44338-pm .jpg (209.8 kB)
付费偷看设置
发送
10条回答
huskylover
1楼-- · 2020-09-26 06:14

我们暂时添加了拦截器

Cikesha
2楼-- · 2020-09-26 06:13

您找到解决方案了吗? 我面临着相同的错误代码-org.zkoss.zk.ui.impl.HybrisUiEngineImpl handleError:1616

compass1988
3楼-- · 2020-09-26 05:57

我们遇到了同样的问题。 看来问题与ModelAttributeInfo的localizedSetters属性有关。 该列表包含一个空方法,该方法是在getMethodForClass方法中生成NPE的方法。 您找到了哪种解决方案? 谢谢!

我是小鹏鹏啊
4楼-- · 2020-09-26 05:54

Dmitry,能否请您分享解决方案的步骤? 将hybris从5.7升级到6.1.0.2后,我看到了同样的错误。

SAP浪
5楼-- · 2020-09-26 06:08

此处是SAP支持人员提供的临时解决方法。 仔细遵循。

https://www.pdf-archive.com/2016/10/20/banner-component-workaround/banner-component-workaround.pdf

更多信息可在此处找到: https://jira.hybris.com/browse/ECP -1381

Tong__Ming
6楼-- · 2020-09-26 05:56

我们遇到了同样的问题。 有没有解决的办法,如果可以,请给我指出正确的方向。

一周热门 更多>