Python处理来自java web服务的自定义异常
问题描述:
我有一个java web服务和使用泡沫的python客户端。我的服务器引发了我想在Python脚本中处理的自定义异常。是否有可能赶上它们,或者它总是会被当作suds.WebFault例外?Python处理来自java web服务的自定义异常
答
suds.WebFault has具有故障信息的故障字段。
except suds.WebFault, e:
print e.fault.faultstring
print e.document
你可以有你的程序从WebFault此类分析服务器自定义异常,并为每一个特定的服务器异常的新的异常类(ES),再搭上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)