[omniORB] pass object/interface to other interface failing.. am I
dense?
Diez B. Roggisch
deets at web.de
Sun Jul 3 20:59:15 BST 2005
Hi,
let's assume I've got an idl like this
module test {
interface Foo {
void bar();
};
typedef sequence<Foo> seq_foo;
interface FooManager {
seq_foo all_foos();
void remove_foo(in Foo f);
};
};
Now if I implement a client that does something like this:
manager = get_me_a_foo_manager()
for foo in manager.all_foos():
manager.remove(foo)
I get an error
BAD_PARAM: Minor: BAD_PARAM_WrongPythonType, COMPLETED_NO.
Why is that? So far I've come around example code (e.g. tictactoe) where
the client creates a servant itself, activates it and then passes it's
id to the server. But how do I pass a server-owned object back? I'm
somewhat lost here, any suggestions appreciated,
BTW: I could of course define a remove() (and probably will do that in
the meantime) on Foo and call that - but I'd still like to know if and
how my scheme above could be made to work.
Regards,
Diez
More information about the omniORB-list
mailing list