Johannes Rost created CXF-5498:
----------------------------------

             Summary: W3CDOMStreamReader does not check the DOM-Level in all 
Cases
                 Key: CXF-5498
                 URL: https://issues.apache.org/jira/browse/CXF-5498
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.6.11
         Environment: Weblogic on Windows
            Reporter: Johannes Rost


In some Methods of org.apache.cxf.staxutils.W3CDOMStreamReader the DOM Level of 
the underlying DOM-implementation is checked (e.g. 'getLocation()'), but this 
is not true for all methods.

The method 'getSystemId' calls 'org.w3c.dom.Document.getDocumentURI()' without 
handling exceptions from implementations which are not DOM Level 3. Wehn 
running under Weblogic this results in the following Error:
{code}
java.lang.AssertionError: UNIMPLEMENTED
        at 
weblogic.xml.domimpl.DocumentImpl.getDocumentURI(DocumentImpl.java:466)
        at 
org.apache.cxf.staxutils.W3CDOMStreamReader.getSystemId(W3CDOMStreamReader.java:90)
        at 
org.apache.cxf.staxutils.AbstractDOMStreamReader$1.getSystemId(AbstractDOMStreamReader.java:343)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXConnector$1.getSystemId(StAXConnector.java:100)
        at 
com.sun.org.apache.xerces.internal.util.SAXLocatorWrapper.getLiteralSystemId(SAXLocatorWrapper.java:63)
        at 
com.sun.org.apache.xerces.internal.xni.parser.XMLParseException.<init>(XMLParseException.java:71)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:365)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417)
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3182)
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1806)
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
        at 
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.startElement(ValidatorHandlerImpl.java:550)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:89)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:71)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:275)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:209)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:337)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:769)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:94)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder$1.run(JAXBEncoderDecoder.java:797)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:795)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:629)
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
        at 
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:194)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
        at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
        at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
        at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214)
        at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:194)
        at 
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130)
        at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:226)
        at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:146)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:201)
        at 
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
{code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to