Omniorb event channel question

Attila Rajmund Nohl attila.rajmund.nohl at ericsson.com
Tue Jan 31 16:27:46 CET 2006


Hello!

I'm using python 2.3.5 on Linux with omniORB 2.6. I'm trying to create
an object that shall listen on an event channel, but the registration
doesn't work. My code is:

class EventListener(CosEventComm.PushConsumer):

    def __init__(self):
        pass

    def push(self, data):
        print data.typecode().kind()
        print data.typecode().name()

    def disconnect_push_consumer(self):
        pass

[... initalize the ORB ...]

channel = orb.getRootInterface(channelname)
chadmin = channel.for_consumers()
supplier = chadmin.obtain_push_supplier()
listener = EventListener()
supplier.connect_push_consumer(listener)

Unfortunately I get the following error at this point:
omniORB.CORBA.BAD_PARAM  
Traceback (most recent call last)

test.py 
     70 supplier = chadmin.obtain_push_supplier()
     71 listener = EventListener()
---> 72 supplier.connect_push_consumer(listener)
     73 
     74 

CosEventChannelAdmin_idl.py
in connect_push_consumer(self, *args)
    122 
    123     def connect_push_consumer(self, *args):
--> 124         return _omnipy.invoke(self, "connect_push_consumer",
_0_CosEventChannelAdmin.ProxyPushSupplier._d_connect_push_consumer, args)
    125 
    126     __methods__ = ["connect_push_consumer"] + 
_0_CosEventComm._objref_PushSupplier.__methods__

BAD_PARAM: Minor: BAD_PARAM_WrongPythonType, COMPLETED_NO.

What am I missing? The ORB works otherwise.

				Bye,NAR



More information about the Python-list mailing list