Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6495086

Transformation of simple XML document fails

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.4.0
    • 5.0u8
    • xml
    • 1.4
    • generic
    • generic
    • Verified

      On 1.5.0_08, given a simple XML document which has redundant namespace declarations causes transformation to fail. This bug was reported earlier as 6467808, where it was appearing from the SAAJ layer. Some changes were made in SAAJ to fix the CTS test but still this problem exists in JAXP. See the attached simple to reproduce jaxp testcase.

      <?xml version="1.0" ?>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                        xmlns:ns1="http://faulttestservice.org/wsdl">
          <soapenv:Body>
              <soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                  <faultcode>
                      soapenv:Server
                  </faultcode>
                  <faultstring>
                      com.sun.ts.tests.jaxws.sharedwebservices.faultservice.DummyException
                  </faultstring>
                  <detail>
                      <ns1:DummyException>
                          <dummyField1>
                              dummyString1
                          </dummyField1>
                          <dummyField2>
                              dummyString2
                          </dummyField2>
                      </ns1:DummyException>
                  </detail>
              </soapenv:Fault>
          </soapenv:Body>
      </soapenv:Envelope>

      xmlns:soapenv namespace declaration on soapenv:Fault is causing this exception to appear:

      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.CoreDocumentImpl.checkDOMNSErr(CoreDocumentImpl.java:2421)
      at com.sun.org.apache.xerces.internal.dom.AttrNSImpl.setName(AttrNSImpl.java:150)
      at com.sun.org.apache.xerces.internal.dom.AttrNSImpl.<init>(AttrNSImpl.java:111)
      at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createAttributeNS(CoreDocumentImpl.java:2012)
      at com.sun.org.apache.xerces.internal.dom.ElementImpl.setAttributeNS(ElementImpl.java:684)
      at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.startElement(SAX2DOM.java:134)
      at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:205)
      at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.characters(ToXMLSAXHandler.java:524)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(AbstractSAXParser.java:570)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanContent(XMLDocumentFragmentScannerImpl.java:1062)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1649)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
      at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:560)
      at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:642)
      at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
      at whitebox.fault.JaxpBug.main(JaxpBug.java:72)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

      I am attaching a simple jaxb based testcase.
      This bug was fixed when it was reported as 6467808. The fixes are in the latest Hudson builds of JAXP.

            nwalshsunw Norman Walsh (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: