[ https://issues.apache.org/jira/browse/CXF-2749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852669#action_12852669 ]
Daniel Kulp commented on CXF-2749: ---------------------------------- Can you test this with CXF 2.2.7? I think this is actually fixed. In anycase, I cannot reproduce it with 2.2.6 or 2.2.7 using the sun stax stuff built into the JDK. Any chance you can create a small testcase outside of WebSphere (since I don't have WebSphere)? > org.apache.cxf.configuration.spring.JAXBBeanFactory cannot handle elements > with namespace prefixes > -------------------------------------------------------------------------------------------------- > > Key: CXF-2749 > URL: https://issues.apache.org/jira/browse/CXF-2749 > Project: CXF > Issue Type: Bug > Components: Configuration, Transports > Affects Versions: 2.2.6 > Environment: Only when used with Sun StAX implementation 1.4.2; does > not seem to happen with Woodstox > Reporter: Jonathan Whitall > Priority: Minor > > I first noticed this when attempting to define the http:conduit element in a > Spring config file: > <beans:beans xmlns:http="http://cxf.apache.org/transports/http/configuration" > xmlns:beans="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://cxf.apache.org/transports/http/configuration > http://cxf.apache.org/schemas/configuration/http-conf.xsd > "> > <http:conduit name="*.http-conduit"> > <http:client ConnectionTimeout="30000" ReceiveTimeout="120000" > /> > </http:conduit> > </beans:beans> > It always fails with the following exception: > Caused by: javax.xml.bind.UnmarshalException > - with linked exception: > [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,198] > Message: > http://www.w3.org/TR/1999/REC-xml-names-19990114#ElementPrefixUnbound?http&http:client] > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339) > at > org.apache.cxf.configuration.spring.JAXBBeanFactory.createJAXBBean(JAXBBeanFactory.java:51) > ... 124 more > Caused by: javax.xml.stream.XMLStreamException: ParseError at > [row,col]:[1,198] > Message: > http://www.w3.org/TR/1999/REC-xml-names-19990114#ElementPrefixUnbound?http&http:client > at > com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:593) > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:160) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360) > ... 126 more > Looking at the source code, it appears that CXF is sending the body contents > of http:conduit verbatim to JAXBBeanFactory for parsing into a JAXB object. > Apparently, Woodstox doesn't care if there is an unregistered namespace > prefix, but the Sun StAX implementation does and throws the exception. > My current workaround is to define the http:conduit element in a separate XML > file and use it as the default namespace like this: > <beans:beans xmlns="http://cxf.apache.org/transports/http/configuration" > xmlns:beans="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://cxf.apache.org/transports/http/configuration > http://cxf.apache.org/schemas/configuration/http-conf.xsd > "> > <conduit name="*.http-conduit"> > <client ConnectionTimeout="30000" ReceiveTimeout="120000" /> > </conduit> > </beans:beans> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.