if (schemaType != null && !helper.isSchemaTypeException(schemaType)) {
corbaex = new org.apache.schemas.yoko.bindings.corba.Exception();
corbaex.setName(schemaType.getName());
corbaex.setQName(schemaType.getQName());
CorbaTypeImpl corbaTypeImpl =
helper.convertSchemaToCorbaType(schemaType, part.getTypeName(), null, null, false);
if (corbaTypeImpl != null) {
MemberType member = new MemberType();
member.setName(corbaTypeImpl.getQName().getLocalPart());
member.setIdltype(corbaTypeImpl.getQName());
corbaex.getMember().add(member);
}
} else {
QName elementName = part.getElementName();
QName schematypeName = helper.checkPrefix(schemaType.getQName());
corbaex = createCorbaException(name, schematypeName, schemaType, elementName);
}
} else {
String msgStr = "Fault " + fault.getMessage().getQName().getLocalPart()
+ " INCORRECT_FAULT_MSG.";
org.apache.cxf.common.i18n.Message msg =
new org.apache.cxf.common.i18n.Message(msgStr, LOG);
throw new Exception(msg.toString());
}
if (corbaex == null) {
String msgStr = "Fault " + fault.getMessage().getQName().getLocalPart()
+ " UNSUPPORTED_FAULT.";
org.apache.cxf.common.i18n.Message msg =
new org.apache.cxf.common.i18n.Message(msgStr, LOG);
throw new Exception(msg.toString());
} else {
// Set the repository ID for Exception
// add to CorbaTypeMapping
String repoId = helper.REPO_STRING + corbaex.getName().replace('.', '/') + helper.IDL_VERSION;
corbaex.setRepositoryID(repoId);
CorbaTypeImpl corbaTypeImpl = (CorbaTypeImpl)corbaex;
corbaTypeImpl.setQName(null);
if (!helper.isDuplicate(corbaTypeImpl)) {
CorbaTypeImpl dup = helper.isDuplicateException(corbaTypeImpl);
if (dup != null) {
typeMappingType.getStructOrExceptionOrUnion().remove(dup);
typeMappingType.getStructOrExceptionOrUnion().add(corbaTypeImpl);
} else {
typeMappingType.getStructOrExceptionOrUnion().add(corbaTypeImpl);