[omniORB] omniNotify prob

jon@totient.demon.co.uk jon@totient.demon.co.uk
Tue, 10 Oct 2000 23:54:47 +0100 (BST)


I'm having trouble getting omniNotify to work. It's built but none
of the examples work.....

The start of the problem seems to be that it registers the
ChannelFactory with omniNames and then an EventChannel. But the
the EventChannel is the nil object reference to my blind eye :

the factory is here (2nd IOR)

bind IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e300000010000000000000027000000010100000e0000003139322e3132382e32332e313000f90a0b0000004e616d6553657276696365 ChannelFactory ChannelFactory nobject IOR:010000003a00000049444c3a6f6d672e6f72672f436f734e6f746966794368616e6e656c41646d696e2f4576656e744368616e6e656c466163746f72793a312e30000000010000000000000028000000010100000e0000003139322e3132382e32332e313000ce060c00000039e398e13f9d23fd00000001

the event channel here (2nd IOR)

bind IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e300000010000000000000027000000010100000e0000003139322e3132382e32332e313000f90a0b0000004e616d6553657276696365
EventChannel EventChannel nobject IOR:01000000010000000000000000000000


then in all the examples code it tests if it is nil, and exits if so :
for example from struct_psuh_supplier.cc
...........
        name.length(1);
        name[0].id   = CORBA::string_dup(channelName);
        name[0].kind = CORBA::string_dup(channelName);
        if ( verbose ) 
                cout << "Resolving reference to: '"<<channelName<<"'" << endl;
        echannel_ref = name_context->resolve(name);
        channel = CosNA_EventChannel::_narrow(echannel_ref);
        if ( CORBA::is_nil(channel) ) {
                cerr << "Failed to narrow Event Channel !" << endl;
                exit(1);
        }
..............

and the output I get reflects exactly that :-


[jon]# ./struct_push_supplier -v
Resolving reference to: 'NameService'
Resolving reference to: 'EventChannel'
Failed to narrow Event Channel !


Any ideas?

Jon