[omniORB] JacORB + OmniORB = problems?

Duncan Grisby dgrisby@uk.research.att.com
Fri, 25 Feb 2000 18:38:24 +0000


On Friday 25 February, Alexander Korobov wrote:

> I'm trying to link my java server and c++ clients through corba.
> I use JacORB1.0b15 and omniOrb.  I tried both omniORB 2.8.0 and 3.0pre2.

> first, my c++ server and client do not work with JacORB nameserver.
> so i had to use omniNames. 

In what way do they fail?  Do they by any chance fail with the same
sort of error you report below?

[...]
> omniORB: LocateRequest to remote:
> key<0x5374616e64617274496d706c4e616d652f000f420b4332323302191e>
> ll_send: 48 bytes
> 4749 4f50 0100 0103 2400 0000 0100 0000 GIOP....$.......
> 1c00 0000 5374 616e 6461 7274 496d 706c ....StandartImpl
> 4e61 6d65 2f00 0f42 0b43 3232 3302 191e Name/..B.C223...
> ll_recv: 20 bytes
> 4749 4f50 0100 0004 0000 0008 0000 0001 GIOP............
> 0000 0000                               ....
> omniORB: throw OBJECT_NOT_EXIST from remoteIdentity.cc:220

This shows that when omniORB first contacts an object, it performs a
GIOP LocateRequest to ensure that the object is really alive. The log
shows that JacORB returns "UNKNOWN_OBJECT" to say that the object
doesn't exist, hence omniORB's OBJECT_NOT_EXIST exception.

Some ORBs don't support LocateRequest at all. It looks from the JacORB
log (which I snipped) as though it does support it to some extent, but
has a bug causing the NullPointerException. Pending a fix to JacORB,
you can probably make it work by using omniORB's
-ORBverifyObjectExistsAndType 0 command line argument.

HTH,

Duncan.

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