opType = bopInfo.getExtensor(OperationType.class);
break;
}
}
if (opType == null) {
throw new CorbaBindingException("Unable to find operation definition");
}
OperationInfo opInfo = bopInfo.getOperationInfo();
QName exIdlType = null;
List<RaisesType> exList = opType.getRaises();
for (Iterator<RaisesType> i = exList.iterator(); i.hasNext();) {
// REVISIT: Note that this assumes that exception names need to
// be unique. We should make
// sure that this is really the case.
RaisesType raises = i.next();
if (raises.getException().getLocalPart().equals(ex.getClass().getSimpleName())) {
exIdlType = raises.getException();
break;
}
}
if (exIdlType != null) {
setUserException(message, ex, exIdlType, opInfo, writer);
}
} catch (java.lang.Exception ex) {
LOG.log(Level.SEVERE, "CORBA marshal fault exception", ex);
throw new CorbaBindingException("Marshal fault failed", ex);
}
}