[omniORB] VisiBroker Interoperability Bug

Brenneis, Steve steve.brenneis@attws.com
Fri, 15 Dec 2000 08:27:19 -0500


This will only be of interest to those who are using omniORB (any version
supporting typecodes and CORBA::Any) servers and VisiBroker 3.x clients. If
you're not among this group, please excuse the intrusion.

VB 3 clients seem to have a problem with indirect typecodes. The only
verifiable instance we have noticed involves an IDL in which a data
structure contains two or more instances of the same enum. For example:

module BadVB_IDL {

enum myEnum { enum_a, enum_b };

struct MyStruct {
  myEnum element_a;
  myEnum element_b;
};

};

In this example, if a compliant server inserts an instance of
BadVB_IDL::MyStruct into an Any (or a sequence of Any's), the VB 3.x client
will throw a marshalling exception (yes, the enums are properly initialized
before insertion). We have also only noted this in Java clients. Inprise has
acknowledged the bug and has no intention of fixing it for VB 3 (VB 4 is
their current release).

Steve Brenneis
Developer-II
AT&T Wireless
Steve.Brenneis@attws.com

"You got to be very careful if you don't know where you're going, because
you might not get there." -- Yogi Berra