<div dir="ltr"><div>Hi Milan,</div><div><br></div><div>Per your comment in the catch block, I had a related issue and I solved it using the IORTable service (<a href="http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/INS.html">http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/INS.html</a> ). Hope the following sample would be helpful. I attached some explanation at the end:<br></div><div><br></div><div>// on the server side<br></div><div>#include "tao/IORTable/IORTable.h"</div><div>...</div><div>CORBA::Object_var table_object =<br>        orb->resolve_initial_references ("IORTable");<br><br>IORTable::Table_var ior_table =<br>  IORTable::Table::_narrow (<a href="http://table_object.in">table_object.in</a> ());<br>if (CORBA::is_nil (<a href="http://ior_table.in">ior_table.in</a> ()))<br>{<br>  cerr << "Nil IORTable" << endl;<br>}<br>else<br>{</div><div>  // In my case, I use the event channel; substitute the argument by what you needed<br></div><div>  CORBA::String_var ior = orb->object_to_string(<a href="http://event_channel.in">event_channel.in</a>());<br>  ior_table->bind ("YourObjKey", <a href="http://ior.in">ior.in</a>());<br>}<br></div><div><br></div><div>Then run the service with option "ORBListenEndpoints" like the following:</div><div>./Service -ORBListenEndpoints iiop://YourServerHostname:portNumber<br></div><div><br></div><div>and then on the client side run with option "ORBInitRef" like the following, and it will work:</div><div>./Client -ORBInitRef YourObjKey=corbaloc:iiop:YourServerHostname:portNumber/YourObjKey<br></div><div><br></div><div>Explanation:</div><div><br></div><div>The server uses IORTable to maintain object references to certain object keys.</div><div>ORBListenEndpoints declares contact point(s) for accessing the IORTable.</div><div>ORBInitRef directs the client program to the right contact point.</div><div>In this way, no need to pass around IORs.</div><div><br></div><div><br></div><div>Hope that helps,</div><div>Chao<br></div><br><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-05-31 11:53 GMT-05:00 Milan Cvetkovic <span dir="ltr"><<a href="mailto:milan.cvetkovic@mpathix.com" target="_blank">milan.cvetkovic@mpathix.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">PRF:<br>
<br>
TAO VERSION: 2.3.3<br>
ACE VERSION: 6.3.3<br>
<br>
HOST MACHINE and OPERATING SYSTEM: Linux Debian 8 on amd64<br>
THE $ACE_ROOT/ace/config.h FILE: config-linux.h<br>
<br>
THE $ACE_ROOT/include/makeinclude/<wbr>platform_macros.GNU:<br>
platform_linux.GNU<br>
<br>
SYNOPSIS:<br>
<br>
Is there a way to force rebinding of a valid reference to a corba object:<br>
<br>
DESCRIPTION:<br>
<br>
Client application is experiencing timeouts after extended inactivity.<br>
Client and server are in different networks, connected through NAT.  I<br>
would like to force the client to rebind (close TCP connection, and<br>
reconnect) on CORBA::TIMEOUT:<br>
<br>
Sample:<br>
<br>
CORBA::Object_var o = orb->string_to_object ("corbaloc:...");<br>
MyObject_var mo = MyObject::_narrow (<a href="http://o.in" rel="noreferrer" target="_blank">o.in</a>());<br>
mo->op ();<br>
ACE_OS::sleep (3600);<br>
<br>
try<br>
{<br>
   mo->op();<br>
}<br>
catch (CORBA::TIMEOUT&)<br>
{<br>
   // here I would like to close the existing transport,<br>
   // and force reconnect.<br>
#if 0<br>
   // this would work, but requires me to keep copies of orb and IOR<br>
   // reference around<br>
   o = orb->string_to_object ("corbaloc:...");<br>
   mo = MyObject::_narrow (<a href="http://o.in" rel="noreferrer" target="_blank">o.in</a>());<br>
#endif<br>
}<br>
<br>
Thanks, Milan<br>
______________________________<wbr>_________________<br>
tao-users mailing list<br>
<a href="mailto:tao-users@list.isis.vanderbilt.edu">tao-users@list.isis.<wbr>vanderbilt.edu</a><br>
<a href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-users" rel="noreferrer" target="_blank">http://list.isis.vanderbilt.<wbr>edu/cgi-bin/mailman/listinfo/<wbr>tao-users</a></blockquote></div><br></div>