summaryrefslogtreecommitdiffstats
path: root/ipalib/rpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/rpc.py')
-rw-r--r--ipalib/rpc.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/ipalib/rpc.py b/ipalib/rpc.py
index 051d2c3de..d667df71e 100644
--- a/ipalib/rpc.py
+++ b/ipalib/rpc.py
@@ -346,7 +346,19 @@ class xmlclient(Connectible):
return serverproxy
try:
command = getattr(serverproxy, 'ping')
- response = command()
+ try:
+ response = command()
+ except Fault, e:
+ e = decode_fault(e)
+ if e.faultCode in self.__errors:
+ error = self.__errors[e.faultCode]
+ raise error(message=e.faultString)
+ else:
+ raise UnknownError(
+ code=e.faultCode,
+ error=e.faultString,
+ server=server,
+ )
# We don't care about the response, just that we got one
break
except KerberosError, krberr: