Issue: Invoking client callback outside skeleton implementation



Hello

With regards to Callbacks in ORBit2.2.9.8, I am noticing that the callbacks only
work if invoked from within a skeleton implementation. i.e. the following
message flow model

   inv-1
A -------------------> B

   inv-2
A <------------------  B

   rep-2
A -------------------> B

   rep-1
A <------------------  B


Instead I would like to implement the following model

   inv-1
A -------------------> B

   rep-1
A <------------------  B

   inv-2
A <------------------  B

   rep-2
A -------------------> B


I tried implementing it so that the object reference gets saved into local list,
and later on (after a given event) the call back method gets invoked from the
server. To achieve this I set up another source in my Glib event loop, which
calls back a given function. Here I lookup the object reference and invoke the
callback method.

if((remoteObj = lookUpObject (<dbase>, <key>)) != CORBA_OBJECT_NIL)
{
   if(remoteObj)
   {
       fprintf(stdout, "\n Retrieved Type ID = %s \n", g_quark_to_string
(remoteObj->type_qid));
   }

<invoke call back method> (remoteObj, newev);

<handle exceptions if raised>

The remote object lookup is fine. I confirm this with the debug message. However
my invoke fails with exception 'IDL:omg.org/CORBA/COMM_FAILURE:1.0' Major = 2.
Following are some information I have gathered from initial debug

1. This call back scenario works fine if I invoke it within the skeleton
implementation where I get the object reference.
2. There are no TCP SYN packets sent out from the machine initiating call back.
i.e. no new connection attempts.
3. Both client and servers are configured to receive messages.
4. Both are not bi directional.
5. -ORBDebugFlags=messages:errors:objects:giop:refs  does not return any debug
messages.

Could someone kindly assist me in debugging this issue? Do I have to do anything
more before I invoke a callback outside the skeleton implementation.

Thanks
-r




*********************************************************************************************************
"This e-mail (and any attachments) is confidential and privileged information of Catapult Communications"
*********************************************************************************************************



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]