intf.holdForScope(idlOp);
ArgType crt = opType.getReturn();
if (crt != null) {
IdlType rt = findType(crt.getIdltype());
idlOp.addReturnType(rt);
}
Iterator it = opType.getParam().iterator();
while (it.hasNext()) {
ParamType arg = (ParamType)it.next();
IdlType type = findType(arg.getIdltype());
String mode = arg.getMode().value();
IdlParam param = IdlParam.create(idlOp, arg.getName(), type, mode);
idlOp.addParameter(param);
}
Iterator iter = opType.getRaises().iterator();
while (iter.hasNext()) {
RaisesType rs = (RaisesType)iter.next();
IdlType type = findType(rs.getException());
if (type instanceof IdlException) {
idlOp.addException((IdlException)type);
} else {
String msgStr = type.fullName() + " is not a type.";
org.apache.cxf.common.i18n.Message msg =
new org.apache.cxf.common.i18n.Message(msgStr, LOG);
throw new Exception(msg.toString());
}
}