[omniORB] omniORB 2.5 as client to JavaIDL Server

Jan Lessner jan@c-lab.de
Sun, 09 Aug 1998 22:19:43 +0200


Steve,
> 
> Hello,
>    I'm trying to test a C++ client written using omniORB v2.5 to
> access a JavaIDL (beta 4) server.  The C++ client is to use the
> omniNames name server to lookup the server, and the Java server is to
> use the omniNames name server for registering its object instances.

> Problem 1:  The Java server can't use resolve_initial_references to
> access omniNames, so I tried programtically looking up the omniNames
> IOR in the omniORB.cfg file and doing a string_to_object on it.
That's a tyical problem which I think you just solved the only possible
way: Allthough function resolve_initial_references is part of the CORBA
standard, there is no standardized rule saying *how* to resolve. I found
quite a few different approaches in various CORBA implemantations
already and none of them are interoperable.

> The
> string_to_object operation failed with a org.omg.CORBA.DATA_CONVERSION
> exception.  Is there a solution to this?  If not, is there any way
> that omniORB can use the JavaIDL name server (tnameserv)?
>
> Problem 2:  Given the IOR of my Java server object, the omniORB C++
> client uses it in a call to string_to_object and then verifies the
> object reference with a call to CORBA::is_nil(obj) which returns true
> indicating that the object reference is invalid.
As far as I can remember, it turned out in the past that JavaIDL does
not yet support multiple platforms. The message sounds pretty much like
being related to that. So if you are running client and server on
different platforms, this may be the reason.

Regards,

	Jan Lessner, C-LAB