op = msgContext.getOperation();
}
Class faultClass = null;
QName faultXmlType = null;
if (op != null) {
FaultDesc faultDesc = null;
// allow fault type to be denoted in xsi:type
faultXmlType = context.getTypeFromAttributes(namespace,
name,
attributes);
if (faultXmlType != null) {
faultDesc = op.getFaultByXmlType(faultXmlType);
}
// If we didn't get type information, look up QName of fault
if (faultDesc == null) {
faultDesc = op.getFaultByQName(qn);
if ((faultXmlType == null) && (faultDesc != null)) {
faultXmlType = faultDesc.getXmlType();
}
}
if (faultDesc == null && op.getFaults() != null) {
Iterator i = op.getFaults().iterator();
while(i.hasNext()) {
FaultDesc fdesc = (FaultDesc) i.next();
if(fdesc.getClassName().equals(name)) {
faultDesc = fdesc;
faultXmlType = fdesc.getXmlType();
break;
}
}
}