[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Fix the ProtocolError seen when the server throws an exception and running
# HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID d5f8280c1fa9fb207ce9ea815285a3957eae839f # Parent 9239f190736d85933bbe64eca0613c24c07617df Fix the ProtocolError seen when the server throws an exception and running under Python 2.3; traceback.format_exc was introduced in 2.4, so we can't use it. Added some exception logging. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> diff -r 9239f190736d -r d5f8280c1fa9 tools/python/xen/util/xmlrpclib2.py --- a/tools/python/xen/util/xmlrpclib2.py Wed Mar 29 23:11:53 2006 +++ b/tools/python/xen/util/xmlrpclib2.py Thu Mar 30 10:51:44 2006 @@ -23,8 +23,12 @@ from httplib import HTTPConnection, HTTP from xmlrpclib import Transport from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler -import xmlrpclib, socket, os, traceback +import xmlrpclib, socket, os import SocketServer + +import xen.xend.XendClient +from xen.xend.XendLogging import log + # A new ServerProxy that also supports httpu urls. An http URL comes in the # form: @@ -60,8 +64,7 @@ verbose, allow_none) # This is a base XML-RPC server for TCP. It sets allow_reuse_address to -# true, and has an improved marshaller that serializes unknown exceptions -# with full traceback information. +# true, and has an improved marshaller that logs and serializes exceptions. class TCPXMLRPCServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer): allow_reuse_address = True @@ -80,10 +83,10 @@ allow_none=1) except xmlrpclib.Fault, fault: response = xmlrpclib.dumps(fault) - except: + except Exception, exn: + log.exception(exn) response = xmlrpclib.dumps( - xmlrpclib.Fault(1, traceback.format_exc()) - ) + xmlrpclib.Fault(xen.xend.XendClient.ERROR_INTERNAL, str(exn))) return response _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |