RP/TUX 8.0, TUX 8.1 - Problems with IDL union type (Doc ID 773314.1)

Last updated on NOVEMBER 04, 2016

Applies to:

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

Goal

DESCRIPTION:
Tuxedo corba idl c++ compiler generates wrong discriminator access member function _d(...). The generated _d function
calls _delete() that puts 0 in _data.  As a result, the data of the union is deleted.  

The java client also has a problem working with the generated classes from idl2java compiler. It gets the following
marshiing error:

CORBA system exception: org.omg.CORBA.MARSHAL:   minor code: 0  completed: No
org.omg.CORBA.MARSHAL:   minor code: 0  completed: No
        at java.lang.Throwable.fillInStackTrace(Native Method)
        at java.lang.Throwable.fillInStackTrace(Compiled Code)
        at java.lang.Throwable.<init>(Compiled Code)
        at java.lang.Exception.<init>(Exception.java:42)
        at java.lang.RuntimeException.<init>(RuntimeException.java:47)
        at org.omg.CORBA.SystemException.<init>(SystemException.java:49)
        at org.omg.CORBA.MARSHAL.<init>(MARSHAL.java:68)
        at org.omg.CORBA.MARSHAL.<init>(MARSHAL.java:47)
        at org.omg.CORBA.MARSHAL.<init>(MARSHAL.java:38)
        at com.beasys.CORBA.iiop.CDRInputStream.grow(CDRInputStream.java:100)
        at com.beasys.CORBA.iiop.CDRInputStream.alignAndCheck(Compiled Code)
        at com.beasys.CORBA.iiop.CDRInputStream.read_long(Compiled Code)
        at ObjTypeHelper.read(ObjTypeHelper.java:18)
        at ObjUidHelper.read(ObjUidHelper.java:20)
        at MyUnionHelper.read(MyUnionHelper.java:38)
        at MyUnionHelper.extract(MyUnionHelper.java:54)
        at _SimpleStub.query(_SimpleStub.java:32)
        at SimpleClient.main(SimpleClient.java:45)

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