[ https://issues.apache.org/jira/browse/CXF-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang reassigned CXF-3527: --------------------------------- Assignee: Freeman Fang > NullPointer exception when interface contains generics > ------------------------------------------------------ > > Key: CXF-3527 > URL: https://issues.apache.org/jira/browse/CXF-3527 > Project: CXF > Issue Type: Bug > Components: Aegis Databinding > Affects Versions: 2.3.3 > Environment: Debian GNU/Linux Tomcat6 > Reporter: Vassilis Virvilis > Assignee: Freeman Fang > > The following code fails with a NULL pointer exception in deploy. Always the > same. In order to reproduce the problem you have to uncomment the method > declarations otherwise the war does not deploy. > What I would like in case it is not possible to make it work in Aegis due to > other constraints is a better error mentioning the problematic method because > right now I have to suspect all methods and play binary search to find the > problematic ones. > // fails with null pointer exception in deploy > // public T testGeneric(Collection<T> collection); > // success > public Integer testGeneric(Collection<T> collection); > // fails with null pointer exception in deploy > // public <T1, T2> Pair<T1, T2> testReturnGenericPair(T1 first, T2 > second); > // fails with null pointer exception in deploy > // public Pair<Integer, String> testReturnQualifiedPair(Integer first, > // String second); > // fails with null pointer exception in deploy > // public <T1, T2> int testGenericPair(Pair<T1, T2> pair); > // fails with null pointer exception in deploy > // public int testQualifiedPair(Pair<Integer, String> pair); > You cant find the eclipse project attached in > https://issues.apache.org/jira/browse/CXF-3526 > and here is the exception > May 16, 2011 5:38:12 PM org.apache.catalina.core.StandardContext listenerStart > SEVERE: Exception sending context initialized event to listener instance of > class org.springframework.web.context.ContextLoaderListener > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'test': Invocation of init method failed; nested exception is > java.lang.NullPointerException > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:563) > at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) > at > org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500) > at > org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849) > at > org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:636) > Caused by: java.lang.NullPointerException > at > org.apache.cxf.aegis.type.AbstractTypeCreator.isArray(AbstractTypeCreator.java:167) > at > org.apache.cxf.aegis.type.AbstractTypeCreator.createTypeForClass(AbstractTypeCreator.java:113) > at > org.apache.cxf.aegis.type.AbstractTypeCreator.createType(AbstractTypeCreator.java:390) > at > org.apache.cxf.aegis.type.basic.BeanTypeInfo.getType(BeanTypeInfo.java:192) > at > org.apache.cxf.aegis.type.basic.BeanType.getDependencies(BeanType.java:532) > at > org.apache.cxf.aegis.databinding.AegisDatabinding.addDependencies(AegisDatabinding.java:394) > at > org.apache.cxf.aegis.databinding.AegisDatabinding.initializeMessage(AegisDatabinding.java:370) > at > org.apache.cxf.aegis.databinding.AegisDatabinding.initializeOperation(AegisDatabinding.java:273) > at > org.apache.cxf.aegis.databinding.AegisDatabinding.initialize(AegisDatabinding.java:239) > at > org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:442) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:505) > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:242) > at > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) > at > org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:148) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) > ... 45 more > May 16, 2011 5:38:12 PM org.apache.catalina.core.ApplicationContext log > INFO: Closing Spring root WebApplicationContext -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira