Написал XMLRPC сервер
def onsevent(t):
print t
return ''
def onchangestateelements(s = {}):
print s
return ''
def server():
server = SimpleXMLRPCServer(("localhost", 8000),requestHandler=RequestHandler)
server.register_introspection_functions()
server.register_function(onsevent, 'ONRSEVENT')
server.register_function(onchangestateelements, 'ONCHANGESTATEELEMENTS')
# print help (server.encoding)
print 'Server start'
server.serve_forever()
class MyThread(threading.Thread):
def run(self):
server()
и клиент
import xmlrpclib
s = xmlrpclib.ServerProxy('http://localhost:8000/xml-rpc')
# Print list of available methods
print s.system.listMethods()
print s.ONRSEVENT('ш')
при передаче русского символа вываливается ошибка
Fault: <Fault 1: "<class 'xml.parsers.expat.ExpatError'>:not well-formed (invalid token): line 6, column 15">
Видимо дело в кодировке, но исправить дело надо именно на сервере так как он будет работать с другим клиентом который править никак нельзя.