[omniORB] typecode problem again...

Duncan Grisby dgrisby@uk.research.att.com
Mon, 11 Dec 2000 14:47:39 +0000


On Monday 11 December, Shawn Bisgrove wrote:

>    About 6 months ago in an earlier release,  the
> orbix implemented server running Orbix 3.0.1 would
> complain that an any that I was sending did not
> contain a value of type AlterationSpec (please see
> post:
> http://www.uk.research.att.com/omniORB/archives/2000-04/0158.html
> ,
> http://www.uk.research.att.com/omniORB/archives/2000-04/0155.html
>  and the fix worked for the tests that I ran ).  I

[...]

> With no change to my code, I recompiled and am getting
> the same error.  I now have done other things like
> using enableLcd() in my code, etc.

Have you tried setting omniORB::tcAliasExpand to 1?  That removes all
the alias TypeCodes, which might help.

The only other thing I can think of is that maybe the IDL is different
between the Orbix server and the omniORB client. One possibility along
those lines is to do with #pragma prefix, if you were using omniORB
2.8 before and 3.0 now. With omniORB 2.8, and I believe Orbix, if you
have IDL like:

// Naming.idl
#pragma prefix "omg.org"
...

// MyStuff.idl
#include <Naming.idl>

struct Foo { ... };

both omniORB 2.8 and Orbix incorrectly use the repository ID
"IDL:omg.org/Foo:1.0" for struct Foo. omniORB 3 correctly uses
"IDL:Foo:1.0" without the prefix.

That would possibly cause Orbix to object to the Any extraction,
although the TypeCodes would be equivalent, so it should be happy.  A
workaround for that is to either put #pragma prefix "" at the end of
any files which set the prefix, or put #pragma prefix "omg.org" (or
whatever) at the start of including files.

Hope that helps,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --