我有一个使用 suds 的 java web 服务和 python 客户端。我的服务器引发了我想在 python 脚本中处理的自定义异常。是否有可能捕获它们,或者它总是会被捕获为 suds.WebFault 异常?
问问题
1043 次
1 回答
1
suds.WebFault 具有包含故障信息的故障字段。
except suds.WebFault, e:
print e.fault.faultstring
print e.document
您可以让您的程序从 WebFault 分析服务器自定义异常,并为每个特定服务器异常创建新的异常类,然后捕获suds.WebFault
异常、读取服务器异常详细信息并引发您的自定义异常。
class MyException(suds.WebFault):
pass
def convertServerException(e):
if e.fault.faultstring == 'exception1':
return MyException()
#...add more exception handling cases here
#...
try:
#...make a WebService call
except suds.WebFault, e:
print e
print e.fault
raise convertServerException(e)
于 2013-07-23T13:11:24.983 回答