throw new org.omg.CORBA.BAD_PARAM(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
}
try {
// invocation and sending result
Object result = invocationProxy.invoke(operationName, inputInstances);
OutputStream out = rh.createReply();
if (types.getOutputType() != null) {
TypeTree tree = types.getOutputType();
TypeHelpersProxy.write(tree.getRootNode(), out, result);
}
return out;
} catch (InvocationException ie) {
// handling user exception
try {
OutputStream out = rh.createExceptionReply();
Class<?> exceptionClass = ie.getTargetException().getClass();
TypeTree tree = TypeTreeCreator.createTypeTree(exceptionClass, null);
String exceptionId = Utils.getTypeId(exceptionClass);
out.write_string(exceptionId);
TypeHelpersProxy.write(tree.getRootNode(), out, ie.getTargetException());
return out;
} catch (Exception e) {
logger.log(Level.WARNING, "Exception during handling invocation exception", e);
}