[omniORB] Naming across ORBS
David Riddoch
djr@uk.research.att.com
Mon, 6 Sep 1999 13:50:34 +0100 (GMT)
Can you do a:
catior <naming service stringified ior>
and let us know what the output is?
David
On Mon, 6 Sep 1999, David Hyde wrote:
> Hello,
>
> I am trying to access an Expersoft CORBAplus written server from an OmniOrb
> client (on the same machine). I've done it by passing the stringified
> reference to the object that I want to connect to into the client on the
> command line, but I can't seem to do it through the naming service. Here's
> what I'm doing...
>
> >From my server:
>
> // Initialise the ORB
> orb = CORBA::ORB_init(Myargc, Myargv);
>
> if (!CORBA::is_nil(orb))
>
> // Initialise the BOA
> CORBA::BOA_ptr aboa = orb->BOA_init(Myargc, Myargv);
> XpsBOA * pboa = XpsBOA::_narrow(aboa);
>
> if (!CORBA::is_nil(pboa))
> {
> // resolve a reference to the NamingService
> CORBA::Object_ptr obj =
> orb->resolve_initial_references("NameService");
> if (!CORBA::is_nil(obj))
> {
> // narrow to a Naming Context
> CosNaming::NamingContext_ptr pNC =
> CosNaming::NamingContext::_narrow(obj);
>
> if (!CORBA::is_nil(pNC))
> {
> CORBA::String_var p;
>
> // Get the stringified Naming Service object and
> output it
> p = orb->object_to_string(pNC);
> cout << endl << "Stringified Naming Service object
> is:" << endl << (char*)p << endl << endl;
>
>
> The client looks like this:
>
> CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv,"omniORB2");
> CORBA::BOA_ptr boa = orb->BOA_init(argc,argv,"omniORB2_BOA");
>
> CORBA::Object_ptr obj = orb->resolve_initial_references("NameService");
>
> if (!CORBA::is_nil(obj))
> {
> ...
>
> I place the string output by the server (including the "IOR:") into the
> registry, but when I run the client I get an immediate exception and:
>
> Configuration error: Invalid object reference supplied for
> NAMESERVICE.
>
>
> I've even tried:
>
> CORBA::Object_var ncObj = orb->string_to_object(argv[1]);
> CosNaming::NamingContext_var pNC = CosNaming::NamingContext::_narrow(ncObj);
>
> whilst placing OmniORB's IOR into the registry. _narrow then returns NULL.
>
>
>
> As far as I can see what I want to do shouldn't be too difficult, so can
> anyone point me in the right direction please.
>
>
> Thanks very much
>
> David Hyde
>
>
>