[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 --