RP/TUX 8.0: C++ idl problem with _default() in Boolean Unions (Doc ID 770317.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo / Tuxedo / 8.0
Information in this document applies to any platform

Goal

Product:  Tuxedo 8.0
Platform:  All
For a boolean union with a single case, the C++ idl compiler generates a default discriminator value of 2 which is not
a valid boolean value.  A java side of the application will treat this as true which may lead to problems.
Example:
union OptFec switch(boolean)
{
    case TRUE:
        LspFec  fec;
};

The _default() method generated in this case is:

...::OptFec::_default()
{
    _disc_set = CORBA_FALSE;
    _discriminant = (::CORBA::Boolean) 2; //**** Not a valid boolean value
}

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms