Hi, all<br><br>    I need a XMLRPC server, which works with database and returns data to the clients.<br>    But I can not find any possibility to keep the object state on server between the clients calls.<br><br>    Here is my code:<br>
<br>      1. Server:<br><br>from SimpleXMLRPCServer import SimpleXMLRPCServer<br>from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler<br><br># Restrict to a particular path.<br>class RequestHandler(SimpleXMLRPCRequestHandler):<br>
    rpc_paths = ('/RPC2',)<br><br># Create server<br>server = SimpleXMLRPCServer(("localhost", 8000),<br>                            requestHandler=RequestHandler)<br>server.register_introspection_functions()<br>
<br>class MyClass:<br>    def __init__(self, a):<br>        self.a = a<br>        # and some heavy works which I would like to do once<br>    def say(self):<br>        return a<br><br>cl = MyClass(100)<br><br>def return_my_value():<br>
    return cl.say()<br>    <br>server.register_function(return_my_value, 'r_v')<br>        <br># Run the server's main loop<br>server.serve_forever()<br><br>       2. Client:<br><br>import xmlrpclib<br><br>s = xmlrpclib.ServerProxy('<a href="http://localhost:8000">http://localhost:8000</a>')<br>
print s.r_v()<br><br>    When I'm running client I get this error message:<br><br>demas@myhost ~/sources/study/python $ python rpc_client.py<br>Traceback (most recent call last):<br>  File "rpc_client.py", line 4, in <module><br>
    print s.r_v()<br>  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__<br>    return self.__send(self.__name, args)<br>  File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request<br>
    verbose=self.__verbose<br>  File "/usr/lib/python2.6/xmlrpclib.py", line 1253, in request<br>    return self._parse_response(h.getfile(), sock)<br>  File "/usr/lib/python2.6/xmlrpclib.py", line 1392, in _parse_response<br>
    return u.close()<br>  File "/usr/lib/python2.6/xmlrpclib.py", line 838, in close<br>    raise Fault(**self._stack[0])<br>xmlrpclib.Fault: <Fault 1: "<type 'exceptions.NameError'>:global name 'a' is not defined"><br>
<br><br>How can I fix it?  Is there any possibility to keep the object state between the clients calls?<br><br>Thanks, <br>Demas<br>