0

I am upgrading a project from spring 2.5 to spring 5. I am able to successfully run the project using spring 3.2.9 on JDK8. The spring ws being used was 2.0.4 with wss4j-1.5.8 and it was running fine on spring 3.2.9.

I have tried changed the spring ws version to 2.1.4 and it doesn't run anymore. The stack trace seems to indicate an issue with version but I couldn't find the issue except for the fact that the spring ws version is the reason. When I have gone through some of the threads online, I found out that spring ws 2.1.4 will work with spring 3.2.9 and wss4j 1.5.8. Following is the stacktrace info corresponding to the issue :

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accessDeniedController' defined in file [...\AccessDeniedController.class]: Unsatisfied dependency expressed through constructor argument with index 1 of type [com.pro.pro1.service.WManager]: : Error creating bean with name 'WManager' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'statusupdateWebServiceTemplate' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'statusupdateWebServiceTemplate' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'wsClientSecurityInterceptor' while setting bean property 'interceptors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wsClientSecurityInterceptor' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wpsManager' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'statusupdateWebServiceTemplate' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'statusupdateWebServiceTemplate' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'wsClientSecurityInterceptor' while setting bean property 'interceptors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wsClientSecurityInterceptor' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:752)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:193)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:633)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wpsManager' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'statusupdateWebServiceTemplate' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'statusupdateWebServiceTemplate' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'wsClientSecurityInterceptor' while setting bean property 'interceptors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wsClientSecurityInterceptor' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:651)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:145)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:917)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:860)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:775)
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:817)
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:745)
    ... 45 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'statusupdateWebServiceTemplate' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Cannot resolve reference to bean 'wsClientSecurityInterceptor' while setting bean property 'interceptors' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wsClientSecurityInterceptor' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:358)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
    ... 61 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wsClientSecurityInterceptor' defined in ServletContext resource [/WEB-INF/classes/WContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1453)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
    ... 73 more
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:101)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1450)
    ... 81 more

Project Dependencies :

activation-1.1.1.jar

activemq-all-5.5.0.jar

antlr-2.7.6.jar

aopalliance.jar

apache-mime4j-0.6.jar

asm.jar

aspectjweaver-1.5.4.jar

axiom-api-1.2.9.jar

axiom-impl-1.2.9.jar

axis-ant.jar

axis.jar

bcprov-jdk16-143.jar

bsf.jar

c3p0-0.9.1.2.jar

cglib-2.1.3.jar

chartengineapi.jar

chartitemapi.jar

chilkat.jar

com.ibm.icu_4.0.1.v20090822.jar

commons-beanutils-1.7.jar

commons-cli-1.0.jar

commons-codec-1.3.jar

commons-collections-3.2.1.jar

commons-dbcp-1.2.2.jar

commons-digester-1.8.jar

commons-discovery-0.2.jar

commons-fileupload-1.2.jar

commons-httpclient-3.1.0.jar

commons-httpclient-4.0.jar

commons-io-1.4.jar

commons-lang-2.4.jar

commons-logging-1.1.1.jar

commons-net-2.0.jar

commons-pool-1.4.jar

commons-vfs-2.0.jar

coreapi.jar

crosstabcoreapi.jar

dataadapterapi.jar

dataaggregationapi.jar

dataextraction.jar

dom4j-1.6.1.jar

dteapi.jar

ehcache-core-1.7.2.jar

emitterconfig.jar

engineapi.jar

ezmorph-1.0.4.jar

flute.jar

freemarker-2.3.29.jar

fscontext.jar

grtl.jar

hibernate-jpa-2.0-api-1.0.0.Final.jar

hibernate3.jar

httpcore-4.0.1.jar

httpmime-4.0.jar

javassist-3.9.0.GA.jar

javax.wsdl_1.5.1.v200806030408.jar

jaxb-impl-2.2.1.jar

jaxrpc.jar

jcl-over-slf4j-1.5.11.jar

jcommon-1.0.9.jar

jdom-1.1.jar

jfreechart-1.0.6.jar

jms.jar

jndi.jar

jruby.jar

js.jar

jsch-0.1.41.jar

json-lib-2.2.1-jdk15.jar

jta.jar

jtds-1.2.2.jar

log4j-1.2.9.jar

mail-1.3.2.jar

modelapi.jar

modelodaapi.jar

odadesignapi.jar

ooxml-schemas-1.0.jar

org.apache.commons.codec_1.3.0.v20080530-1600.jar

org.eclipse.emf.common_2.5.0.v200906151043.jar

org.eclipse.emf.ecore.xmi_2.5.0.v200906151043.jar

org.eclipse.emf.ecore_2.5.0.v200906151043.jar

org.w3c.css.sac_1.3.0.v200805290154.jar

oro-2.0.8.jar

oscore-2.2.5.jar

osworkflow-2.8.0.jar

poi-3.5.jar

poi-ooxml-3.5.jar

postgresql-8.3-603.jdbc3.jar

propertyset-1.4.jar

providerutil.jar

quartz-1.6.0.jar

saaj.jar

scriptapi.jar

sftp.jar

slf4j-api-1.5.11.jar

slf4j-log4j12-1.5.10.jar

spring-aop-3.2.9.RELEASE.jar

spring-aspects-3.2.9.RELEASE.jar

spring-beans-3.2.9.RELEASE.jar

spring-context-3.2.9.RELEASE.jar

spring-context-support-3.2.9.RELEASE.jar

spring-core-3.2.9.RELEASE.jar

spring-expression-3.2.9.RELEASE.jar

spring-instrument-3.2.9.RELEASE.jar

spring-jdbc-3.2.9.RELEASE.jar

spring-jms-3.2.9.RELEASE.jar

spring-orm-3.2.9.RELEASE.jar

spring-oxm-3.2.9.RELEASE.jar

spring-security-config-3.0.1.jar

spring-security-core-3.0.1.jar

spring-security-web-3.0.1.jar

spring-tx-3.2.9.RELEASE.jar

spring-web-3.2.9.RELEASE.jar

spring-webmvc-3.2.9.RELEASE.jar

spring-ws-2.1.4.RELEASE-all.jar

velocity-1.5.jar

velocity-tools-view-1.3.jar

viewservlets.jar

webservices-rt-2.1-b16.jar

wss4j-1.5.8.jar

xmlbeans-2.3.0.jar

xmlsec-1.4.3.jar

zehon_file_transfer-1.1.6.jar

arunken
  • 415
  • 3
  • 15
  • Add youre dependency managemnet. Your dependencies are not convering to the versions expected by the different modules of spring – Darren Forsythe Apr 25 '20 at 15:57
  • The error basically means that Spring (or possibly something else) expects a method `int decodeAction(String, List)` in `org.apache.ws.security.util.WSSecurityUtil` and the version on your classpath doesn't have this method. – Mark Rotteveel Apr 25 '20 at 16:06
  • The project in question doesn't use maven or gradle. I will post the list of dependencies as ap. – arunken Apr 25 '20 at 16:45
  • @MarkRotteveel Yeah. I have been trying to find the issue with the versions. I have opened the class file that is being the cause of the error : "org.apache.ws.security.util.WSSecurityUtil" in wss4j and there is a method named decodeAction with arguments string, List(Vector). There must be some other dependent jars causing this issue. – arunken Apr 25 '20 at 16:51
  • Hi, I have updated the question after adding the dependency list. – arunken Apr 26 '20 at 06:27

0 Answers0