After some debugging in CXF, it looks like in the method:

org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(), on line 98,
d.getDocumentElement().getNamespaceURI() returns a null pointer.

Does anyone know why that might be? No other logs shed any light on
why the servlet is going down.

tia,
rouble



On Sat, Dec 3, 2011 at 3:24 PM, rouble <[email protected]> wrote:
> CXF Gurus,
>
> I am running into an intermittent issue with a CXF web service. The
> web service impl bean gets created and its @PostConstruct get called.
> Everything seems to run fine, and then with no CXF logs, everything
> starts to get torn down. The first log I see says, "Destroying
> singletons" and then the @Predestroys get called. And then I see,
> "Invalid schema document passed to
> AbstractDataBinding.addSchemaDocument, not in W3C schema namespace".
> This doesn't make sense because the service successfully started
> previously on the same box in the same web container (Tomcat 6.0.29).
>
> The logs are as follows:
> <No logs before this seem to suggest why the service is being taken down>
>
> 2011-12-03 14:44:32,822 INFO
> [ContainerBackgroundProcessor[StandardEngine[Catalina]]] Destroying
> singletons in 
> org.springframework.beans.factory.support.DefaultListableBeanFactory@173a03d:
> defining beans 
> [template,cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,myWebServiceImpl_v2,myWebService_v2];
>
> 2011-12-03 14:44:32,868 WARN
> [ContainerBackgroundProcessor[StandardEngine[Catalina]]] Invocation of
> destroy method 'shutdown' failed on bean with name 'cxf':
> org.springframework.beans.factory.BeanCreationNotAllowedException:
> Error creating bean with name 'template': Singleton bean creation not
> allowed while the singletons of this factory are in destruction (Do
> not request a bean from a BeanFactory in a destroy method
> implementation!)
>
> 2011-12-03 14:44:32,868 ERROR
> [ContainerBackgroundProcessor[StandardEngine[Catalina]]] Context
> initialization failed
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'myWebService_v2': Invocation of init method
> failed; nested exception is javax.xml.ws.WebServiceException:
> java.lang.RuntimeException: Invalid schema document passed to
> AbstractDataBinding.addSchemaDocument, not in W3C schema namespace
>        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)
> Caused by: javax.xml.ws.WebServiceException:
> java.lang.RuntimeException: Invalid schema document passed to
> AbstractDataBinding.addSchemaDocument, not in W3C schema namespace
>        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)
>        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
>        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)
>        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.AbstractAutowireCapableBeanFactory$7.run(AbstractAutowireCapableBeanFactory.java:1531)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1529)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
>        at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
> Caused by: java.lang.RuntimeException: Invalid schema document passed
> to AbstractDataBinding.addSchemaDocument, not in W3C schema namespace
>        at 
> org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:98)
>        at 
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:344)
>        at 
> org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
>        at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:438)
>        at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:682)
>        at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:501)
>        at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:241)
>        at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202)
>        at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
>        at 
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:157)
>        at 
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:202)
>        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:433)
>        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:322)
>
> The issue is intermittent, so sometimes restarting tomcat fixes the
> issue. But now we have one box where the issue happens every time.
>
> tia,
> rouble

Reply via email to