Not yet, though it would probably be easy:
Code:
public class UnmarshallingFaultResolver implements FaultResolver {
private Unmarshaller unmarshaller;
public void setUnmarshaller(Unmarshaller unmarshaller) {
this.unmarshaller = unmarshaller;
}
public void resolveFault(WebServiceMessage message) throws IOException {
SoapMessage soapMessage = (SoapMessage) message;
SoapFaultDetail detail = soapMessage.getSoapBody().getFault().getFaultDetail();
for (Iterator iterator = detail.getDetailEntries(); iterator.hasNext();) {
SoapFaultDetailElement detailElement = (SoapFaultDetailElement) iterator.next();
Object unmarshalled = unmarshaller.unmarshal(detailElement.getSource());
if (unmarshalled instanceof RuntimeException) {
throw (RuntimeException) unmarshalled;
}
}
}
}
Or something similar.