Andrew Cleasby created CXF-6518:
-----------------------------------

             Summary: Soap envelope namespaces not used during exception detail 
unmarshalling
                 Key: CXF-6518
                 URL: https://issues.apache.org/jira/browse/CXF-6518
             Project: CXF
          Issue Type: Bug
            Reporter: Andrew Cleasby


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)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to