您可以使用Addon通过其他过滤器扩展cmswebservice吗?

2020-09-15 20:23发布

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

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

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


要扩展cmswebservices的功能,我需要添加一个过滤器,以设置其他会话属性。 为此,我添加了基于yoccaddon模板的自定义 xycmswebservicesaddon 。 自定义插件扩展和cmswebservices扩展已添加到我的localextensions.xml中。

我将过滤器MyCustomFilter.java添加到以下目录 \ acceleratoraddon \ web \ src\ ab \ cd \ xy \ cmswebservices \ filter

此外,我在 resources \ xycmswebservicesaddon \ web \ spring \ xycmswebservicesaddon-web-spring.xml

中注册了此过滤器

以下行在project.properties.template中引用了该网络弹簧上下文:

  ycommercewebservices.additionalWebSpringConfigs.xycmswebservicesaddon = classpath:/xycmswebservicesaddon/web/spring/xycmswebservicesaddon-web-spring.xml
  

然后我使用以下命令运行addoninstall命令:

  ant addoninstall -Daddonnames =" xycmswebservicesaddon" -DaddonStorefront.ycommercewebservices =" cmswebservices"
  

显然,在安装过程中没有任何问题,因为我收到了以下消息:

  [echo] ------------------ Ing插件:xycmswebservicesaddon ---------------
       [echo]从模板... \ xycmswebservicesaddon/project.properties.template生成project.properties文件
     [删除]删除:... \ xycmswebservicesaddon \ project.properties
       [复制]正在将1个文件复制到... \ xycmswebservicesaddon
       [echo]为storefrontTemplate'ycommercewebservices'和storefronts'cmswebservices'添加额外的WebSpringConfigs行
       [echo]为店面" cmswebservices"添加wro4jconfigscan行
  [propertyfile]更新属性文件:... \ xycmswebservicesaddon \ project.properties
       [echo]将扩展程序'xycmswebservicesaddon'添加到extensioninfo.xml中以获取'cmswebservices'
       [echo]为'cmswebservices'将addon'xycmswebservicesaddon'添加到addons.less
  

运行ant clean之后,所有源均已复制到cmswebservices扩展的web文件夹中的addonsrc目录中,并且以下行已添加到其extensioninfo.xml文件中。

当尝试启动服务器时,由于ClassNotFoundException导致webcontext的初始化失败:

  WARN [localhost-startStop-1] [TenantIgnoreXmlWebApplicationContext]上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名称为'catalogVersionDetailsController'的bean时出错:注入资源依赖项 失败 嵌套的异常是org.springframework.beans.factory.BeanCreationException:使用ServletContext资源[/WEB-INF/config/field-mapping-spring.xml]中定义的名称为'defaultDataMapper'的bean创建错误:无法解析对bean'fieldSetBuilder'的引用 设置bean属性'fieldSetBuilder'时; 嵌套的异常是org.springframework.beans.factory.BeanCreationException:使用ServletContext资源[/WEB-INF/config/field-mapping-spring.xml]中定义的名称为" fieldSetBuilder"的bean创建错误:无法解析对bean" fieldSetLevelHelper"的引用 设置bean属性'fieldSetLevelHelper'时; 嵌套的异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源[/WEB-INF/config/field-mapping-spring.xml]中定义的名称为'defaultFieldSetLevelHelper'的bean创建时出错:bean初始化失败; 嵌套的异常是org.springframework.beans.factory.CannotLoadBeanClassException:找不到在类路径资源[xycmswebservicesaddon/web/spring/xycmswebservicesaddon-中定义的名称为'myCustomFilter'的bean的类[ab.cd.xy.cmswebservices.filter.MyCustomFilter]  web-spring.xml]; 嵌套的异常是java.lang.ClassNotFoundException:ab.cd.xy.cmswebservices.filter.MyCustomFilter
  

有人知道,为什么在服务器启动期间找不到该类? 如果没有,还有其他想法,如何将会话属性添加到cmswebservices?