OmniNames and bind_context

Gary D. Duzan gdd0@gte.com
Tue, 23 Dec 1997 16:57:05 -0500


In Message <34A02E67.35672503@tumbleweed.com> ,
   saintlou@tumbleweed.com (Emmanuel Saint-Loubert) wrote:

=>Hello Gary,
=>
=>> The interesting thing is that it actually does
=>> work, but the IOR that I bound is marked as nobject instead of
=>> ncontext.
=>>
=>
=>Actually this is supposed to be the normal behavior. When you use bind
=>(instead of bind_context) your binding will always be to an object rather
=>than to a context. Because a context is also an object it is bound as such
=>in this case.

   Right. That part didn't surprise me at all. I was just a little
surprised that it allowed resolving using nobjects which happened to
point to NamingContexts. It's clear that doing so falls out of obvious
implementations fairly easily, but I just question whether such
behavior strictly complies with the spec.
   Ok, just found the proper reference. Page 3-8 of the CORBA Services
document, section 3.2.1:

   bind
     Creates a binding of a name and an object in the naming context.
     Naming contexts that are bound using bind do not participate in
     name resolution when compound names are passed to be resolved.

So strictly speaking, allowing references to NamingContexts that are
bound with bind to participate in a resolve of a compound name is
non-compliant. I would think it would be easy to fix, though; just
check for ncontext at each step.

					Gary Duzan
					GTE Laboratories