Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6518

Soap envelope namespaces not used during exception detail unmarshalling

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Soap Binding
    • None
    • Unknown

    Description

      When handling this SOAP fault response:
      <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>ServerFaultCode</faultcode><faultstring/><detail><RuntimeFaultFault xsi:type="vim25:InvalidArgument" xmlns="urn:pbm" xmlns:pbm="urn:pbm" xmlns:vim25="urn:vim25"><vim25:faultMessage><vim25:key>com.vmware.pbm.pbmFault.locale</vim25:key><vim25:arg><vim25:key>summary</vim25:key><vim25:value xsi:type="xsd:string">Invalid or null error message(vmodl.fault.InvalidArgument) {
      faultCause = null,
      faultMessage = null,
      invalidProperty = resourceType
      }</vim25:value></vim25:arg></vim25:faultMessage><vim25:invalidProperty>resourceType</vim25:invalidProperty></RuntimeFaultFault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

      Fault handling fails due to an unmapped namespace error ("prefix xsd is not bound to a namespace"). It appears that namespace declarations from the SOAP envelope are not propagated when unmarshalling the exception detail in ClientFaultConverter.

      The relevant stack trace is:
      at com.sun.xml.bind.DatatypeConverterImpl._parseQName(DatatypeConverterImpl.java:369)
      at com.sun.xml.bind.v2.runtime.unmarshaller.XsiTypeLoader.parseXsiType(XsiTypeLoader.java:96)
      at com.sun.xml.bind.v2.runtime.unmarshaller.XsiTypeLoader.startElement(XsiTypeLoader.java:74)
      at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:576)
      at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:555)
      at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:75)
      at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:168)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:244)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:281)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:250)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:281)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:250)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:281)
      at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:250)
      at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:127)
      at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:369)
      at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:348)
      at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:834)
      at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)
      at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:894)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:892)
      at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:712)
      at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:176)
      at org.apache.cxf.interceptor.ClientFaultConverter.processFaultDetail(ClientFaultConverter.java:155)
      at org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFaultConverter.java:82)

      Attachments

        Activity

          People

            Unassigned Unassigned
            acleasby Andrew Cleasby
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: