Daniel Kulp wrote:
On Tuesday 06 April 2010 8:50:20 pm Willem Jiang wrote:
Hi Lucas,
Can you check if you put the Spring jars into your class path?
Because the blow code will search the Spring class before it load the
SpringBusFactory.
bus = BusFactory.newInstance().createBus();
I think we can change the current code to create the CXFBusFactory
directly to avoid this kind of issue.
No, we cannot do that. There are a lot of things (like all the WS-
SecurityPolicy stuff) that won't work without the Spring stuff. The non-
spring bus works fine for regular JAX-WS stuff, but any of the advanced use
cases require the full Spring bus.
Dan
Oh, I don't want to change the code of BusFactory.newInstance().
I just want to change the code in CXFNonSpringServlet.loadBusNoConfig()
private void loadBusNoConfig(ServletConfig servletConfig) throws
ServletException {
if (bus == null) {
LOG.info("LOAD_BUS_WITHOUT_APPLICATION_CONTEXT");
- bus = BusFactory.newInstance().createBus();
+ BusFactory bf = new CXFBusFactory();
+ bus = bf.createBus();
}
...
Willem
Lucas Madar wrote:
I'm running into a problem with CXF 2.2.7 release when
CXFNonSpringServlet.loadBus() is called. This was not an issue with
2.2.6. As far as I can tell, this issue was reported for several
previous versions but is marked as fixed. Is anyone else running in to
this issue?
Thanks,
Lucas Madar
java.lang.RuntimeException:
org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from class path resource
[META-INF/cxf/cxf.xml]; nested exception is
javax.xml.stream.XMLStreamException: org.w3c.dom.DOMException:
NAMESPACE_ERR: An attempt is made to create or change an object in a way
which is incorrect with regard to namespaces.
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.jav
a:96)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.jav
a:86)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.jav
a:64)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.jav
a:53)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBusNoConfig(CXFN
onSpringServlet.java:45)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBus(CXFNonSpring
Servlet.java:38)
at
com.samsix.http.util.WebServiceServlet.loadBus(WebServiceServlet.java:41)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServl
et.java:78)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java
:1173)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.ja
va:4149)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
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:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.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:
Unexpected exception parsing XML document from class path resource
[META-INF/cxf/cxf.xml]; nested exception is
javax.xml.stream.XMLStreamException: org.w3c.dom.DOMException:
NAMESPACE_ERR: An attempt is made to create or change an object in a way
which is incorrect with regard to namespaces.
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanD
efinitions(XmlBeanDefinitionReader.java:375)
at
org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.doL
oadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:109)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDef
initions(XmlBeanDefinitionReader.java:303)
at
org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loa
dBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:131)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDef
initions(XmlBeanDefinitionReader.java:280)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.lo
adBeanDefinitions(AbstractBeanDefinitionReader.java:142)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBea
nDefinitions(AbstractXmlApplicationContext.java:108)
at
org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusAp
plicationContext.java:262)
at
org.springframework.context.support.AbstractRefreshableApplicationContext
.refreshBeanFactory(AbstractRefreshableApplicationContext.java:101)
at
org.springframework.context.support.AbstractApplicationContext.obtainFres
hBeanFactory(AbstractApplicationContext.java:389)
at
org.springframework.context.support.AbstractApplicationContext.refresh(Ab
stractApplicationContext.java:324)
at
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationCont
ext.java:91)
at
org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(Sprin
gBusFactory.java:102)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.jav
a:93)
... 24 more
Caused by: javax.xml.stream.XMLStreamException:
org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or
change an object in a way which is incorrect with regard to namespaces.
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:370)
at
org.apache.cxf.bus.spring.TunedDocumentLoader.loadDocument(TunedDocumentL
oader.java:113)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanD
efinitions(XmlBeanDefinitionReader.java:351)
... 37 more
Caused by: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made
to create or change an object in a way which is incorrect with regard to
namespaces.
at
com.sun.org.apache.xerces.internal.dom.AttrNSImpl.setName(AttrNSImpl.java
:105)
at
com.sun.org.apache.xerces.internal.dom.AttrNSImpl.<init>(AttrNSImpl.java:
74)
at
com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createAttributeNS
(CoreDocumentImpl.java:2127)
at
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeAttribute(W3CDOMStreamWr
iter.java:176)
at
org.apache.cxf.staxutils.StreamWriterContentHandler.startElement(StreamWr
iterContentHandler.java:217)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement
(AbstractSAXParser.java:501)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStar
tElement(XMLNSDocumentScannerImpl.java:400)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSConten
tDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$Fr
agmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriv
er.next(XMLDocumentScannerImpl.java:922)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDo
cumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XML
NSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.sc
anDocument(XMLDocumentFragmentScannerImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11
Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11
Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java
:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abstra
ctSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse
(SAXParserImpl.java:522)
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:367)
... 39 more