[omniORB] Problem with inheritance
Thomas Lockhart
lockhart at fourpalms.org
Wed Mar 10 07:21:53 GMT 2004
> I'm not sure, whether this is a CORBA question or an omniORB one.
> Anyway: I have a server with an interface A and a derived interface B.
> The server implements interface B. I have a client, that does have
> only the IDL of interface A, so it does not know about interface B.
> The client narrows the server reference successfully to A, but fails
> on the first method invocation (that is, of course, part of interface
> A). If the client is compiled with both A and B, everything works
> fine. The server is omniORB 4.0.3 C++, the client is omniORB Python
> 2.3. Is this behaviour according to the CORBA spec? How can I solve
> the problem?
This seems like it should work; much of my code relies on inherited
interfaces. If the client knows only about interface A, then the narrow
operation may not actually communicate with the server since it can
figure out the "is a" operation from the interface definition itself. So
you may find when you increase the debugging levels on both sides that
the failure is happening on the first transaction.
Not sure where to look after that; it may be helpful to know what error
is actually happening.
hth
- Tom
More information about the omniORB-list
mailing list