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
