Proxy Object Factories
Ole Storm
storm@ifad.dk
Wed, 11 Mar 1998 18:13:01 +0100
Greetings,
Section 8.2 of the manual for omniORB 2.4 describes how to define a new
proxy class and a new proxy object factory for the simple Echo example.
I have tried to follow the steps outlined in section 8.2.2 in order to
modify the proxy object and factory for the eg2_clt.cc example. I am
pretty sure that I have covered the three necessary steps described in
the manual. I have left the caching-part out, so echoString() is not
overloaded in my proxy class - I am more interested in the construction
and destruction of the proxy objects. However, things seem to go wrong:
The constructor of _new_proxy_Echo is called all-right when the client
exectues:
//eg2_clt.cc:
CORBA::Object_var obj = orb->string_to_object(argv[1]);
- so the new factory seems to be initialised.
When echoString is subsequently called by the client, the call is
handled by the proxy in the function _proxy_Echo::echoString. This
function never returns, however. The program seems to 'hang' in the
call:
//echoSK.cc:
switch (_0RL_c.ReceiveReply())
{ ^^^^^^^^^^^^^^^^^^^^^
case GIOP::NO_EXCEPTION: |
{ (...) |
+ This function does not return...
I have tried to debug the execution of ReceiveReply, but lost my way.
Things seen to go wrong somewhere in tcpSocketStrand::ll_recv
Have any of you experienced similar problems?
Regards,
Ole
P.S. Platform: WinNT and Linux
---------------------------------------------------------------
Ole Storm
The Institute of Applied Computer Science (IFAD)
Forskerparken 10, DK-5230 Odense M, Denmark
Phone: +45 6315 7134, Fax: +45 6593 2999, Email: storm@ifad.dk
WWW: http://www.ifad.dk
---------------------------------------------------------------