cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-3527) NullPointer exception when interface contains generics
Date Thu, 26 May 2011 12:15:47 GMT

     [ https://issues.apache.org/jira/browse/CXF-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Freeman Fang resolved CXF-3527.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3.5
                   2.4.1

commit fix
http://svn.apache.org/viewvc?rev=1127829&view=rev for trunk
http://svn.apache.org/viewvc?rev=1127855&view=rev for 2.3.x branch

> 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
>             Fix For: 2.4.1, 2.3.5
>
>
> 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

Mime
View raw message