TransformerException te = (TransformerException) e.getException();
if (te.getException() instanceof XMLStreamException) {
XMLStreamException se = (XMLStreamException) te.getException();
if (se.getCause() instanceof SAXParseException) {
SAXParseException spe = (SAXParseException) se.getCause();
CougarValidationException cve = schemaValidationFailureParser.parse(spe, SchemaValidationFailureParser.XmlSource.SOAP);
if (cve != null) {
throw cve;
}
}
}
}
throw new CougarValidationException(ServerFaultCode.SOAPDeserialisationFailure, e);
} catch (Exception e) {
throw new CougarValidationException(ServerFaultCode.SOAPDeserialisationFailure, e);
} finally {
try {
if (in != null) in.close();
} catch (IOException ie) {
throw new CougarValidationException(ServerFaultCode.SOAPDeserialisationFailure, ie);
}
}
throw new CougarValidationException(ServerFaultCode.NoSuchOperation,
"The SOAP request could not be resolved to an operation");
}