qnameToClassMap.put(new QName("http://www.w3.org/2001/XMLSchema", "anySimpleType"), String.class);
}
private FaultDesc mapException(String faultName, Fault fault) throws DeploymentException {
Message message = fault.getMessage();
QName messageQName = message.getQName();
ExceptionMappingType exceptionMapping = (ExceptionMappingType) exceptionMap.get(messageQName);
if (exceptionMapping == null) {
throw new DeploymentException("No exception mapping for fault " + faultName + " and fault message " + messageQName + " for operation " + operationName);
}
String className = exceptionMapping.getExceptionType().getStringValue().trim();
//TODO investigate whether there are other cases in which the namespace of faultQName can be determined.
//this is weird, but I can't figure out what it should be.
//if part has an element rather than a type, it should be part.getElementName() (see below)
QName faultQName = new QName("", faultName);
Part part;
if (exceptionMapping.isSetWsdlMessagePartName()) {
//According to schema documentation, this will only be set when several headerfaults use the same message.
String headerFaultMessagePartName = exceptionMapping.getWsdlMessagePartName().getStringValue();
part = message.getPart(headerFaultMessagePartName);
} else {
part = (Part) message.getOrderedParts(null).iterator().next();
}
QName faultTypeQName;// = part.getElementName() == null ? part.getTypeName() : part.getElementName();
if (part.getElementName() == null) {
faultTypeQName = part.getTypeName();
if (faultTypeQName == null) {