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

Daniel Kulp resolved CXF-2749.
------------------------------

       Resolution: Cannot Reproduce
    Fix Version/s: Invalid
         Assignee: Daniel Kulp


Cannot reproduce with latest code using Sun parser.


                
> 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
>            Assignee: Daniel Kulp
>            Priority: Minor
>              Labels: spring, xml
>             Fix For: Invalid
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to