[omniORB] Dynamic invocation and example programs

David Riddoch djr@uk.research.att.com
Thu, 13 Apr 2000 18:54:26 +0100 (BST)


Hi Markus,


On Thu, 13 Apr 2000, Markus Redeker wrote:

> since I had problems with dynamic invocation, I tried the example
> programs,
> and they failed, too. (If I replace echo_diiclt with eg2_clt, everything is
> fine.)

The problem here is really that support for DSI in omniORB is not quite
complete.  The problem is that you need to have support for the Current
object before you can implement the _is_a() operation properly, and
omniORB3 does not yet have support for Current.

The DII client generates an _is_a() request, which the DSI servant cannot
handle, and so it throws an exception.

It is perfectly legal for the DII client to issue such a request, but in
this case utterly unnecassary as it is asking the remote object if it
supports the CORBA::Object interface!  I have made a mod to eliminate this
redundant check, and put it in CVS.

So now the DII and DSI examples work together (and of course in
combination with the static equivalents).  However, please bear in mind
the problem with DSI on omniORB3 I talked about above.  It could cause you
problems in other circumstances, and with other ORBs.


Cheers,
David