sudsを使用するJava WebサービスとPythonクライアントがあります。私のサーバーは、Python スクリプトで処理したいカスタム例外を発生させます。それらをキャッチすることは可能ですか、それとも常に suds.WebFault 例外としてキャッチされますか?
質問する
1043 次
1 に答える
1
suds.WebFault には、障害に関する情報を持つ fault フィールドがあります。
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 に答える