summaryrefslogtreecommitdiffstats
path: root/lite-xmlrpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'lite-xmlrpc.py')
-rwxr-xr-xlite-xmlrpc.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/lite-xmlrpc.py b/lite-xmlrpc.py
index 811fe21c8..d755dfa3f 100755
--- a/lite-xmlrpc.py
+++ b/lite-xmlrpc.py
@@ -25,11 +25,9 @@ In-tree XML-RPC server using SimpleXMLRPCServer.
import sys
from SimpleXMLRPCServer import SimpleXMLRPCServer
+import krbV
from ipalib import api
-api.bootstrap_with_global_options(context='server')
-api.finalize()
-
class Instance(object):
"""
@@ -52,13 +50,22 @@ class Server(SimpleXMLRPCServer):
"""
Use `ipaserver.rpcserver.xmlserver.marshaled_dispatch()`.
"""
- return api.Backend.xmlserver.marshaled_dispatch(data)
+ try:
+ ccache=krbV.default_context().default_ccache().name
+ return api.Backend.xmlserver.marshaled_dispatch(data, ccache)
+ except Exception, e:
+ api.log.exception('Error caught by lite-xmlrpc.py...')
+ raise e
+api.bootstrap_with_global_options(context='server')
+api.finalize()
+
kw = dict(logRequests=False)
if sys.version_info[:2] != (2, 4):
kw.update(dict(encoding='UTF-8', allow_none=True))
server = Server(('', api.env.lite_xmlrpc_port), **kw)
+
api.log.info('Logging to file %r', api.env.log)
api.log.info('Listening on port %d', api.env.lite_xmlrpc_port)
server.register_introspection_functions()