I'm writing an application that supports browsing the cos services.
The starting point into the actual browser is a call to
ORB.list_initial_services(). This returns a list of the services that
are registered/configured with the ORB.
The problem is that this list includes also references to local
objects -- objects that implement the org.omg.CORBA.Object interface,
but are valid only in the local address space. Currently all the
objects in the list are used polymorphically -- checking for an IOR to
display, checking for certain types to see whether a plugin for such a
This results in CORBA_MARSHAL errors when trying to access those
objects, e.g. when trying to get an IOR. When calling _is_a on such
an object NO_IMPLEMENT is returned.
The question is if there is a defined way -- one that should work on
all CORBA implementations -- to find out whether a CORBA.Object is a
local object, or if the information above is all I get?
By the way -- have a look at http://sourceforge.net/projects/lichen/
goto Files and download the newest version of the explorer. And note
that the display of local references is currently not possible ;^)
But browsing the NameService is cool.