So wies aussieht stehe ich mal wieder voll aufm Schlauch.
Server:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
"""
Einfacher XMLRPC-Server
"""
from SimpleXMLRPCServer import SimpleXMLRPCServer
from random import randint
class XmlrpcHandler:
def get_random_int(self, from_int, to_int):
return randint(from_int, to_int)
def test(self, text):
print text
return text
server = SimpleXMLRPCServer(("localhost", 50505))
server.register_instance(XmlrpcHandler())
print "Der XMLRPC-Server horcht auf http://localhost:50505."
print "Er kann mit STRG+C beendet werden."
server.serve_forever()
s = xmlrpclib.ServerProxy("http://localhost:50505")
s.test("HALLO") eingeben, bekomme ich:
Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
s.test("HALLO")
File "C:\Python25\lib\xmlrpclib.py", line 1147, in __call__
return self.__send(self.__name, args)
File "C:\Python25\lib\xmlrpclib.py", line 1437, in __request
verbose=self.__verbose
File "C:\Python25\lib\xmlrpclib.py", line 1201, in request
return self._parse_response(h.getfile(), sock)
File "C:\Python25\lib\xmlrpclib.py", line 1340, in _parse_response
return u.close()
File "C:\Python25\lib\xmlrpclib.py", line 787, in close
raise Fault(**self._stack[0])
Fault: <Fault 1: "<type 'exceptions.TypeError'>:cannot marshal None unless allow_none is enabled">
Das hängt ja unmittelbar mit dem "print" zusammen. Ich wahr aber den meinung das es schonmal gegangen ist. Komisch ist auch das der Server "HALLO" ausgibt ohne zu mekern.
Was habe ich jetzt falsch gemacht (ist wahrscheinlich wieder so einfach wie gestern )
Gruß
Andyh