Your best bet is probably to stringify the reference to the initial namingQuote:> My situation:
> I hava a CORBA server application developed with jdk 1.2 ORB.
> - The server registers to the jdk 1.2 namingService (tnameserv) using rebind()
> - I hava a client in Java to test the server. It uses resolve() to get the
> server's reference from the namingService.
> - This works fine !
> My problem: I want to replace the Java client by a client developped on Orbix
> 2.3 (C++). Different problems arise: - How do I make the gateway between
> client and server, concerning the naming server? Is it better a) not to use
> orbixd but use the standard jdk1.2 namingService, in which case I would
> appreciate an example code (Orbix documentation does not explain how to use
> other namingServices). b) to replace jdk1.2 ORB with OrbixWeb? Are OrbixWeb
> and Orbix "inline", idem are their smart agents (orbixd) interoperable?
context of the JDK naming service and to read the reference from a file
or some such in the C++ client. That's because, as far as I know, Orbix
does not permit you to configure what is returned from
resolve_initial_references or rather, more accurately, it does not allow
you to use a server that wasn't written using Orbix as a server whose
reference is to be returned by resolve_initial_references.
Note that implementation repositories, such as orbixd, are by necessity
implementation-specific and cannot interoperate with servers from other
vendors. In other words, if you write a server using ORB A, then that
server must use an implementation repository provided by ORB A. That's
because the communication between the repository and the server isn't
standardized by the OMG (and for good reasons). [ If you want to know
more about how this works, see http://www.triodia.com/staff/michi/cacm.pdf,
which explains quite a bit about this sort of thing. ]
Once you have reference to the JDK naming service in the Orbix client,
you should be able to use that naming service like you would any other
Of course, you could also use the IONA naming service and talk to it from
the JDK server. But again, in that case, you must somehow etheir configure
resolve_initial_references in the JDK to return the reference to the
IONA Naming Service (I'm not sure whether that's possible), or you have
to read a stringified reference to the IONA Naming Service in the server
and use that to do your rebind().
The whole idea is that, once you have a reference to anything, you can talk
to it via IIOP. Your problem appears to be how to get the reference...
Michi Henning +61 7 3236 1633
Triodia Technologies +61 4 1118 2700 (mobile)
PO Box 372 +61 7 3211 0047 (fax)