Hi,

I am receiving the following answer from a foreign Web service:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <faultcode xmlns="">SOAP-ENV:Server</faultcode>
            <faultstring xmlns="">This is an operation implementation generated 
fault</faultstring>
            <faultactor xmlns="" />
            <detail xmlns="">
                <rv:fault xmlns:xs="http://www.w3.org/2001/XMLSchema";
                        xmlns:rv="http://com/company/Service/RuleVerification";
                        
xmlns:fwk="http://com/company/Service/Framework/XSD/GenericException/200";
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                        xsi:type="fwk:BusinessException">
                    <fwk:errors>
                        <fwk:code>F00006</fwk:code>
                        <fwk:dataInError>NREPVEH</fwk:dataInError>
                    </fwk:errors>
                </rv:fault>
            </detail>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

I have generated some JAXB bindings through CXF codegen WSDL to Java and I'm 
expecting that the fault detail would be unmarshalled in something like 
com.company.service.framework.exception.BusinessException. It is not the case, 
because xsi:type is not honorred.

Looking at the code of org.apache.cxf.interceptor.ClientFaultConverter, method 
processFaultDetail(...), I indeed see that xsi:type is not taken into account. 
Is it a normal feature, conforming to the specs, or does it deserve a bug 
report for a enhancement?

Thanks in advance.

Stéphane

Reply via email to