I'll try again...[Fwd: Proxy Object Factories]

Ole Storm storm@ifad.dk
Wed, 18 Mar 1998 10:37:54 +0100


This is a multi-part message in MIME format.
--------------DD4B40CB97E0F7ECE3A0284A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Greetings,

I am sorry to bother you all again, but the question I raised a week ago
got not attention what so ever, and I am still struggling with the
problem. 
So please, if any of you have succeeded in implementing smart proxies
with omniORB 2.4 as outlined in section 8.2 of the user manual, could
you please let me know what might be the problem in my case?

Here is the original question:
--------------DD4B40CB97E0F7ECE3A0284A
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Message-ID: <3506C61D.60044CC7@ifad.dk>
Date: Wed, 11 Mar 1998 18:13:01 +0100
From: Ole Storm <storm@ifad.dk>
Organization: IFAD
X-Mailer: Mozilla 4.03 [en] (WinNT; I)
MIME-Version: 1.0
To: "omniorb-list@orl.co.uk" <omniorb-list@orl.co.uk>
Subject: Proxy Object Factories
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

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
---------------------------------------------------------------

--------------DD4B40CB97E0F7ECE3A0284A--