Hi all, I'm newbie. I got a lot of problem using xmlrpc and numpy
I'm using numpy to to some staff and then serve the results via a twisted/XMLRPC server. If the result is a numpy float 64, I get an exception cause probably twisted can't handle this type. Infact is I downgrade the result to float32 with x=float(x), everything is ok. This is not so good cause if I forget this workaroud somewhere, it's a pain. Have you any better solution?
server:
|from twisted.webimport xmlrpc, server
import numpyas np
class MioServer(xmlrpc.XMLRPC):
"""
An example object to be published.
"""
def xmlrpc_test_np(self):
return np.sqrt(2)
if __name__== '__main__':
from twisted.internetimport reactor
r= MioServer()
reactor.listenTCP(7080, server.Site(r))
reactor.run()|
client:
|import xmlrpclib
if __name__=='__main__':
x=xmlrpclib.ServerProxy('http://localhost:7080/')
print x.test_np()|
Exception:
|Traceback (most recent call last):
File
"C:\Users\Stone\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86\plugins\org.python.pydev_2.8.2.2013090511\pysrc\pydevd.py",
line1446, in <module>
debugger.run(setup['file'], None, None)
File
"C:\Users\Stone\.eclipse\org.eclipse.platform_4.3.0_1709980481_win32_win32_x86\plugins\org.python.pydev_2.8.2.2013090511\pysrc\pydevd.py",
line1092, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "C:\Users\Stone\Documents\FastDose\src\Beagle\Prove e test\xmlrpc_client.py",
line28, in <module>
print x.test_np()
File "C:\Python27\lib\xmlrpclib.py", line1224, in __call__
return self.__send(self.__name, args)
File "C:\Python27\lib\xmlrpclib.py", line1578, in __request
verbose=self.__verbose
File "C:\Python27\lib\xmlrpclib.py", line1264, in request
return self.single_request(host, handler, request_body, verbose)
File "C:\Python27\lib\xmlrpclib.py", line1297, in single_request
return self.parse_response(response)
File "C:\Python27\lib\xmlrpclib.py", line1473, in parse_response
return u.close()
File "C:\Python27\lib\xmlrpclib.py", line793, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 8002: "Can't serialize output: cannot marshal <type
'numpy.float64'> objects">|
<<attachment: nicola_cesca.vcf>>
_______________________________________________ Twisted-Python mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
