You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Alessio Soldano (JIRA)" <ji...@apache.org> on 2009/07/24 17:21:15 UTC

[jira] Resolved: (CXF-1996) NPE on JAXWS service initialization

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

Alessio Soldano resolved CXF-1996.
----------------------------------

    Resolution: Fixed

Done.

> NPE on JAXWS service initialization
> -----------------------------------
>
>                 Key: CXF-1996
>                 URL: https://issues.apache.org/jira/browse/CXF-1996
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.1.3
>         Environment: Platform independent bug
>            Reporter: Richard Opalka
>            Assignee: Alessio Soldano
>             Fix For: 2.2.3, 2.3
>
>         Attachments: cxf-descriptor.xml, jaxws-jbws2150.war
>
>
> We're getting the below NPE with CXF 2.1.3.
> It is related to CXF internal initialization.
> The problematic code is in ReflectionServiceFactoryBean in method
> protected boolean initializeClassInfo(OperationInfo o, Method method, List<String> paramOrder) {
>    if (isWrapped(method)) {
>       if (o.getUnwrappedOperation() == null) {
>          //the "normal" algorithm didn't allow for unwrapping,
>          //but the annotations say unwrap this.   We'll need to
>          //make it.
>          WSDLServiceBuilder.checkForWrapped(o, true); // Inside of this code RULE no.2 fails and thus unwrapper operation isn't set at all
>       }
>       ...
>       o = o.getUnwrappedOperation(); // HERE the o variable is set to NULL
>    } else if (o.isUnwrappedCapable()) {
>       ...
>    }
>    o.setProperty(METHOD_PARAM_ANNOTATIONS, method.getParameterAnnotations()); // HERE we're getting NPE because o was set to null
>    ...
> }
> We're attaching also web service archive to reproduce the problem.
> This is the exception we're facing:
> 10:51:19,151 ERROR [[/jaxws-jbws2150]] StandardWrapper.Throwable
> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ValidSecureService': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.NullPointerException
> Caused by: 
> javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:267)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:394)
> 	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1242)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1208)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.loadAdditionalConfigExt(CXFServletExt.java:124)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:101)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:91)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:73)
> 	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
> 	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.NullPointerException
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeClassInfo(ReflectionServiceFactoryBean.java:604)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:238)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:524)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:247)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:316)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:408)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:189)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:164)
> 	at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100)
> 	at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:117)
> 	at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168)
> 	at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:336)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:251)
> 	... 34 more
> 10:51:19,152 ERROR [[ValidService]] Allocate exception for servlet ValidService
> java.lang.NullPointerException
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeClassInfo(ReflectionServiceFactoryBean.java:604)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:238)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:524)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:247)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:316)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:408)
> 	at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:189)
> 	at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:164)
> 	at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100)
> 	at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:117)
> 	at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:168)
> 	at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:336)
> 	at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:251)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201)
> 	at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:394)
> 	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1242)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1208)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.loadAdditionalConfigExt(CXFServletExt.java:124)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:101)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:91)
> 	at org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:73)
> 	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
> 	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> 	at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.