[omniORB] Interoperability issue with ORBacus Names / omniORB resolve_initi al_references

Hayes, Ted (London) HayesRog@exchange.uk.ml.com
Wed, 4 Jul 2001 17:34:44 +0100


A seeming interoperability issue:

I am running Orbacus 4.0.5 C++ nameserv on a Solaris 2.6 machine.  On the
client side I have Windows NT 4 and omniORB 3.0.2 - Similar behaviour occurs
under both C++ and Python clients, but obviously it's easier to demonstrate
using Python.  I am using omniORBpy version 1.2.  Normal Python setup..


  from omniORB import CORBA
  import CosNaming, sys
  ORB = CORBA.ORB_init(sys.argv, CORBA.ORB_init)

Then try to obtain the Orbacus Name Service in 3 different ways:

method 1:
  ns = ORB.resolve_initial_references("NameService")

method 2:
  ns = ORB.string_to_object("corbaloc:rir:/NameService")

method 3:
  obj = ORB.string_to_object("corbaloc:iiop:mysolarishost:2000/NameService")
  ns =  obj._narrow(CosNaming.NamingContext)

1 and 2 fail (I get a omniORB.CORBA.NO_RESOURCES, COMPLETED_NO at line 474
of CORBA.py where the DLL routine invocation occurs:

  return _omnipy.orb_func.string_to_object(self, ior)

Method 3 works OK.  If I run omniORBpy on the Solaris machine, I get exactly
the same behaviour.  Has anyone else had a problem here or am I just doing
something wrong?  If I shut down nameserv and fire up the omniORB Name
Service on the same Solaris machine and port, all 3 methods work OK..

Ted Hayes