You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Fürniß Danny Manuel <d....@enbw.com> on 2009/02/19 13:07:11 UTC

NoClassDefFoundError using org.springframework.security.userdetails.User in service interface

Hi all.

I am trying to use org.springframework.security.userdetails.User in my
service interface:

import org.springframework.security.userdetails.User;

@WebService
public interface UserService {
  
  User getUser(
      @WebParam(name = "userId") final String userId
  );

The client config is:

  <jaxws:client id="userService" 
    serviceClass="com.foo.bar.userservice.UserService"
    address="${service.url}/userService"/>

The exception is raised on client side when i start the tomcat inside
eclipse. For the complete jar-list see below. Am i missing something?
If i don't use the springsecurity User class in my interface everything
works as desired. Is this an issue with proxying the User class?

2009-02-19 12:41:50,411 [main/] ERROR
org.springframework.web.context.ContextLoader - Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'userService': Instantiation of bean failed; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException: Factory
method [public java.lang.Object
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create()] threw exception; nested
exception is java.lang.NoClassDefFoundError:
org/springframework/security/userdetails/User
	at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsi
ngFactoryMethod(ConstructorResolver.java:423)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:901)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
.createBeanInstance(AbstractAutowireCapableBeanFactory.java:815)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(Ab
stractBeanFactory.java:264)
	at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSi
ngleton(DefaultSingletonBeanRegistry.java:220)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Abst
ractBeanFactory.java:261)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra
ctBeanFactory.java:185)
	at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Abstra
ctBeanFactory.java:164)
	at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInst
antiateSingletons(DefaultListableBeanFactory.java:429)
	at
org.springframework.context.support.AbstractApplicationContext.finishBeanFac
toryInitialization(AbstractApplicationContext.java:729)
	at
org.springframework.context.support.AbstractApplicationContext.refresh(Abstr
actApplicationContext.java:381)
	at
org.springframework.web.context.ContextLoader.createWebApplicationContext(Co
ntextLoader.java:255)
	at
org.springframework.web.context.ContextLoader.initWebApplicationContext(Cont
extLoader.java:199)
	at
org.springframework.web.context.ContextLoaderListener.contextInitialized(Con
textLoaderListener.java:45)
	at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3843)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public java.lang.Object
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create()] threw exception; nested
exception is java.lang.NoClassDefFoundError:
org/springframework/security/userdetails/User
	at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instan
tiate(SimpleInstantiationStrategy.java:127)
	at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsi
ngFactoryMethod(ConstructorResolver.java:414)
	... 32 more
Caused by: java.lang.NoClassDefFoundError:
org/springframework/security/userdetails/User
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
	at java.lang.Class.privateGetPublicMethods(Class.java:2547)
	at java.lang.Class.getMethods(Class.java:1410)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(
ReflectionServiceFactoryBean.java:742)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFrom
Class(ReflectionServiceFactoryBean.java:349)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(J
axWsServiceFactoryBean.java:519)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServic
eModel(ReflectionServiceFactoryBean.java:410)
	at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Reflectio
nServiceFactoryBean.java:189)
	at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFact
oryBean.java:164)
	at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(Abst
ractWSDLBasedEndpointFactory.java:100)
	at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
	at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean
.java:102)
	at
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java
:115)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instan
tiate(SimpleInstantiationStrategy.java:115)
	... 33 more
Caused by: java.lang.ClassNotFoundException:
org.springframework.security.userdetails.User
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	... 52 more

My setup:
cxf 2.1.3
spring-security-2.0.4
spring 2.5.6
tomcat 6.0.18

My WebApp libs:
aopalliance.jar
asm-2.2.3.jar
aspectjrt.jar
aspectjweaver.jar
c3p0-0.9.1.2.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.2.1.jar
commons-digester-1.8.jar
commons-discovery-0.4.jar
commons-el-1.0.jar
commons-fileupload-1.2.1.jar
commons-io-1.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
commons-pool.jar
commons-validator-1.3.1.jar
cxf-2.1.3.jar
dom4j-1.6.1.jar
FastInfoset-1.2.2.jar
geronimo-activation_1.1_spec-1.0.2.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-javamail_1.4_spec-1.3.jar
geronimo-jaxws_2.1_spec-1.0.jar
geronimo-stax-api_1.0_spec-1.0.1.jar
geronimo-ws-metadata_2.0_spec-1.1.2.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
hibernate3.jar
hsqldb.jar
jaxb-api-2.1.jar
jaxb-impl-2.1.7.jar
jdom-1.0.jar
jsf-facelets-1.1.14.jar
jstl.jar
jta.jar
libs.txt
log4j-1.2.15.jar
mail.jar
myfaces-api-1.2.3.jar
myfaces-impl-1.2.3.jar
neethi-2.0.4.jar
persistence.jar
quartz-all-1.6.0.jar
richfaces-api-3.3.0.GA.jar
richfaces-impl-3.3.0.GA.jar
richfaces-ui-3.3.0.GA.jar
saaj-api-1.3.jar
saaj-impl-1.3.2.jar
spring-aop.jar
spring-aspects.jar
spring-beans.jar
spring-context-support.jar
spring-context.jar
spring-core.jar
spring-jdbc.jar
spring-orm.jar
spring-security-core-2.0.4.jar
spring-security-core-tiger-2.0.4.jar
spring-test.jar
spring-tx.jar
spring-web.jar
ssoLib.jar
standard.jar
tomahawk-1.1.6.jar
tomahawk-facelets-taglib.jar
wsdl4j-1.6.2.jar
wstx-asl-3.2.6.jar
xml-resolver-1.2.jar
XmlSchema-1.4.2.jar