Hello <br><br>I am trying to implement a custom servant manager in Python as follows:<br><br>&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8<br>FORTUNE_PATH=&quot;/usr/bin/fortune&quot;<br><br>class CookieServer_i (Fortune__POA.CookieServer):
<br>&nbsp;&nbsp;&nbsp; def get_cookie(self):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pipe = os.popen(FORTUNE_PATH)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie = pipe.read()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if pipe.close():<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie = &quot;Oh dear, could'nt get a fortune\n&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cookie
<br><br><br>class ResynServantManager(PortableServer__POA.ServantLocator):<br><br>&nbsp;&nbsp;&nbsp; cookieServer = CookieServer_i()<br><br>&nbsp;&nbsp;&nbsp; def preinvoke(self, oid, poa, operation, cookie):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;preinvoke : &quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cookieServer<br><br>&nbsp;&nbsp;&nbsp; def postinvoke(self, oid, adapter, operation, the_cookie, the_servant):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;postinvoke :&quot;<br><br>orb = CORBA.ORB_init(sys.argv)<br>poa = orb.resolve_initial_references
(&quot;RootPOA&quot;)<br><br>poaManager = poa._get_the_POAManager()<br><br>## NOTE: Deleted Naming Service Registration Code for brevity<br><br># Setup RESYN POA<br>policies =[ poa.create_servant_retention_policy(PortableServer.NON_RETAIN
),<br>&nbsp;&nbsp;&nbsp; poa.create_request_processing_policy(PortableServer.USE_SERVANT_MANAGER),<br>&nbsp;&nbsp;&nbsp; poa.create_id_assignment_policy(PortableServer.USER_ID),<br>&nbsp;&nbsp;&nbsp; poa.create_implicit_activation_policy(PortableServer.NO_IMPLICIT_ACTIVATION
),<br>&nbsp;&nbsp;&nbsp; poa.create_thread_policy(PortableServer.ORB_CTRL_MODEL)]<br><br><br>resyn_servman = ResynServantManager()<br>resyn_poa = poa.create_POA(&quot;RESYN&quot;, poaManager, policies)<br><br>resyn_poa.set_servant_manager(resyn_servman._this())
<br><br>#Activate the POA<br>poaManager.activate()<br><br>#Block until ORB is shutdown<br>orb.run()<br><br>&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8&gt;8<br><br>My problem is that the code never progresses past <br><br>
&nbsp;&nbsp;&nbsp; &gt; resyn_poa.set_servant_manager()<br><br>i.e. it blocks at &quot;set_servant_manager()&quot; never activating the POA, and therefore my requests don't get served.<br><br>If I call &quot;poaManager.activate()&quot; before the &quot;set_servant_manager()&quot; then things seem to work OK, except that ResynServantManager() is not used to &quot;locate&quot; my CookieServer objects.
<br><br>I would like to know if anyone can help explain to me why my &quot;RESYN&quot; POA and ResynServantManager() is never used for locating my CookieServer objects. What am I missing/doing wrong.<br><br>Regards and thanks
<br>Stephan<br>