Re: [Orbit-python-list] (in Object obj) marshalling error
Status: Inactive
Brought to you by:
tack
|
From: Christian R. R. <ki...@as...> - 2001-01-23 14:57:39
|
On 23 Jan 2001, Roland Mas wrote:
> > TypeError: Failed to marshal: Object Reference ()
> >
> > even though a _is_ an object reference.
>
> Hm. Is is a Python object reference, I'm not sure it's a CORBA
> object reference.
According to the CORBA Python Mappings,
If an operation expects parameters of the IDL Object type, any
Python object representing an object reference might be passed as
a value.
So I'm passing as a parameter a Python Object which I've just instantiated
from a class that inherits from a __POA class, so it _is_ a Corba Object.
> > Hmm. I wonder why I get a different message?
>
> For the same reason. a is not of a type known by ORBit.
A different message, for the same reason? What I mean is that _any_ object
that I pass - be it local, Corba, or simple number/string objects get me
the same error. However, passing an IOR string gets me a different
one? Sounds strange, but I haven't looked at the source yet.
> You should add an interface like:
>
> interface Foo {
> attribute string bar ;
> } ;
Oh, I do have an interface for my Corba Object which I'm passing as a
parameter. The purpose of this exercise is binding an object - a factory
in this case - to the namingservice. The bind() call takes an Object as a
parameter, so I instantiate a factory and pass it on. However, the
marshalling breaks, and it breaks with any object I push through as well.
> > The practical effect of this is that it's impossible to use
> > orbit-python with the Orbit nameserver as of now.
>
> I'm not so sure. It's not like I have done it, but I would be more
> convinced if you could retry with CORBA objects.
They were Corba Objects. I was incomplete in my explanation, and I'm
sorry, but the objects I was passing initially are Corba Objects with
interfaces defined in the IDL. And they get ht the exact same error as
plain Python objects, so it's strange.
Thanks a lot for the reply.
Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311
|