[omniORB] CORBA::UserException / omni compatibility

oleg_machulski@geocities.com oleg_machulski@geocities.com
Wed, 23 Dec 1998 21:45:07 +0300 (MSK)


Seems, we found that omniORB2 exception mechanism is incompatible
with CORBA-arch 2.2 (feb 1998). 

On the page 20-58 of the standard is written that class Exception
must have virtual method _raise(), which is absent in case of
OmniORB.

We discovered it when we tried to solve the following problem:

There exists an exception 
exception GTexception{
short type;
} 
and there is a lot of attribute variables on our interfaces.
Attributes are mapped by omniidl2 into 2 methods of classes (let us
call them set_ and get_ methods). In some cases due to security
reasons set_ method must be able to throw GTexception with
type=ACCESS_VIOLATION, but of course _sk_ classes would not catch
this exception and server will receive something like SIGINT or
SIGUSR1. the possible solution is manually rewrite all the IDL code
and convert all the attributes on interfaces into two methods (both
of them will be able to raise GTexception), but we do not like this
approach very much.

maybe someone will advise something, which is better..........

Thank You.
---
Oleg Machulski
http://www.geocities.com/SiliconValley/Network/7671/
mailto:oleg_machulski@geocities.com
mailto:olegmachulski@usa.net