[omniORB] problem with DynAny containing recursive TypeCode

Clemens Fischer fischer.c@stn-atlas.de
Fri Nov 29 11:09:00 2002


Hi all,

i'm using omniORB4 with MSVC 6.0 and XP
and dynamically create a TypeCode for a recursive struct like

  struct Composite
  {
    long something;
    sequence<Composite> children;
  };

Subsequently i create a DynAny from this TypeCode and fill
it with some data.

When i try to convert this DynAny to an Any (by DynAny::to_any),
my program throws a non-CORBA exception.

Replacing the creation of DynAny from the dynamically created
TypeCode by a creation from _tc_Composite makes everything work
well.

Although TypeCode::equal says true when comparing my TypeCode
to _tc_Composite, there is a difference: i'm using
ORB::create_recursive_tc, whereas omniidl generates TypeCode
initialization code using TypeCode::PR_recursive_sequence_tc.

Is this a known problem or is a patch already available?
If necessary i can provide a short example that reproduces
the problem.

Regards

Clemens