[omniORB] RE: Orbix to OmniORB integration problem

Frank Lynch flynch@emhain.wit.ie
Tue, 16 Mar 1999 16:32:51 +0000 (GMT)


There are a number of interop issuse with orbix, however *most* of them
are fixed in patches, The latest patch (26) to Orbix 2.3 uses ip addersses
in IORs rather than hostnames. 

I'd recommend that you use ominNames rather than OrbixNames, as orbix
names was built with a early version of 2.3.
There is also an issue with the use of modules which is a known problem
with Orbix. Basically, there is a string embedded inside an IOR which
gives the "type" of the object. This type string is supposed to be of the
form "IDL:module-name/interface-name:1.0". Unfortunately, Orbix uses an
underscore ("_") instead of the slash ("/") when constructing the type
string. As you have observed, this problem occurs only when the interface
is inside a module (if the interface is in the global scope then there is
no "/" in the type string). 
I haven't tested the interop of modules with omni / Orbix with patch 26,
however I believe that it has been fixed in Orbix3.0 which is now
available as a beta.

Anyway you can get patches for Orbix (and all other IONA products) from :

http://www.iona.com/online/support/update/index.html

Regards,
Frank Lynch

On Tue, 16 Mar 1999, David Riddoch wrote:

> 
> Yan,
> 
> 
> I think the problem may be with the Orbix object_to_string and
> string_to_object methods.  Orbix has a proprietary format for stringified
> IORs, which contains the host name.  You'll need to persuade Orbix to give
> you a standard stringified IOR.  I think the following may work:
> 
> stringified_ior = 
>   objref->_object_to_string(CORBA::IT_INTEROPERABLE_OR_KIND);
> 
> and something similar for string_to_object.
> 
> I got this from:
>   http://www.uk.research.att.com/omniORB/archives/1997-08/0016.html
> 
> 
> Hope this helps,
> David
> 
> 
> On Mon, 15 Mar 1999, Yan Presman wrote:
> 
> > David, thank you for prompt reply.
> > 
> > Here is additional information I've collected so far:
> > 
> > I found a way to call from OmniORB (2.7.0) client to Orbix server, here are 
> > some issues I've noticed (I checked both Orbix 2.3c and Orbix 2.3c02): (I 
> > use famous 'grid' example for all my tests)
> > 
> > 1.	object_to_string (Orbix, server side) produces IOR that does not have 
> > valid Daemon port number (as claimed by documentation, nor does it have
> > 	server port#) - generated IOR contains something very strange. I
> > tried to 
> > use Orbix.useTransientPort() to get to server's port - with the same result
> > 
> > 2.	Only when I generated IOR manually (by calling makeIOR()) while 
> > providing daemon port# as a parameter I got an IOR that looked good and 
> > that
> > 	could be used to talk to Orbix server from OmniORB
> > 
> > Unfortunately I don't know yet how to call OmniORB servers from Orbix 
> > clients. My attempt to use IOR produced by OmniORB resulted in Orbix 
> > message:
> > 
> > Unexpected system exception
> > 10086-- Communication failure
> >   - unknown host : 
> > ior\:01b120100d00000049444c3a677269643a312e3000c104100100000000000000280  
> > 000000101
> > 00000e0000003137322e32332e34342e31373900330f0c00000036e820de000002f00000  
> > 0002
> >   [Completion status : COMPLETED_NO]
> > 
> > 1.	I could not figure out yet how to obtain omniORB server port# (so I can 
> > verify that IOR generated by OmniORB is valid). If you can help me with 
> > 	this one I'd really appreciate
> > 
> > 2.	Is there a way to put server's host name (instead of IP address) in the 
> > generated IOR  ? - I've noticed that Orbix uses names
> 
> 
>