You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Johannes Rost (JIRA)" <ji...@apache.org> on 2014/07/11 14:47:05 UTC

[jira] [Closed] (CXF-5498) W3CDOMStreamReader does not check the DOM-Level in all Cases

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

Johannes Rost closed CXF-5498.
------------------------------


> 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
>            Assignee: Daniel Kulp
>             Fix For: 2.6.12, 2.7.9, 3.0.0-milestone2
>
>
> 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/errors from implementations which are not DOM Level 3. When running under Weblogic this results in the following error, which occours when validating the schema for a not schema valid XML structure:
> {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.2#6252)