[omniORB] incoming LOCATE_REQUEST, how to satisfy it

Fabien COUTANT Fabien.Coutant@steria.fr
Thu, 2 Nov 2000 15:13:07 +0100


On 02 November 2000, you (Glenn A. Hochberg) wrote:
> First off, the Name Service and LOCATE_REQUEST are two completely different
> things.  The Name Service is a directory that lets you find the IOR
> corresponding to a logical name.  The LOCATE_REQUEST is an IIOP message sent
> by the client ORB, asking the destination ORB whether the CORBA object
> addressed by the IOR is indeed available at that server.
> 
> The fact that your server is getting the LOCATE_REQUEST implies that your
> client has the IOR and the client ORB is at least finding the server
> process.  There could possibly  be a problem with how Orbix 2.3 is setting
> up the object key in the IOR.
> 
> What error is your client getting?
> 
>     -Glenn

I understand the difference,  I just used omniNames to test.

The client has no IOR.  I suspect it uses Orbix' bind/_bind ("MyClass").

I've told it through its configuration file the host (10.2.1.30) and
port where to contact my server.  That's why my server receives an
incoming connection, though the client has no IOR.  The port I use for
my server is fixed by using -ORBpoa_iiop_port option.


I guess from there the client has to find a server-local object
identification for an object of class MyClass .  That should be the
purpose of the LOCATE_REQUEST, if I interpret its name correctly; i.e. 
it's not only to check the object's presence since the client does not
know yet who the object is.

Or is the string passed to LOCATE_REQUEST considered THE server-local
object identification ?


As for the error from the client, I only receive an application-level
message.  Nothing technical to get from it.  With a network sniffer
(ethereal) I see that omniORB returns MessageType=LocateReply,
LocateStatus=0.

When omniNames answered successfully I remember that this status was 1.
Seems it can't return any object identification, so you must be right
about the purpose of LOCATE_REQUEST.


Conclusion: the question seems to become: how do I declare an object
with a given name, such that LOCATE_REQUEST considers the name present
in the server.

Any more ideas ?


-- 
Thanks for help,
Fabien.