0

SimpleXMLRPCServer のサーバー側で例外を発生させようとしています。ただし、すべての試行で、クライアント側で「Fault 1」例外が発生します。

RPC_Server.AbortTest() ファイル "C:\Python25\lib\xmlrpclib.py"、1147 行、コール内 return self.__send(self.__name, args) ファイル "C:\Python25\lib\xmlrpclib.py"、行1437, in __request verbose=self.__verbose File "C:\Python25\lib\xmlrpclib.py", line 1201, in request return self._parse_response(h.getfile(), sock) File "C:\Python25\lib\ xmlrpclib.py"、1340 行目、_parse_response で u.close() を返します: :テストは RPC 要求によって中止されました">

4

2 に答える 2

1

はい、これはサーバー側で例外を発生させたときに起こることです。SimpleXMLRPCServer がクライアントに例外を返すことを期待していますか?

XML を介してマーシャリングできるオブジェクトのみを使用できます。これも

  • boolean : True および False 定数
  • integers : 直接渡す
  • 浮動小数点数 : 直接渡す
  • string : 直接渡します
  • arrays : 適合する要素を含む任意の Python シーケンス タイプ。配列はリストとして返されます
  • structure : Python 辞書。キーは文字列である必要があり、値は適合する任意の型にすることができます。ユーザー定義クラスのオブジェクトを渡すことができます。それらの__dict__属性のみが送信されます。
  • 日付 : エポック (DateTime クラスのインスタンスを渡す) または datetime.datetime インスタンスからの秒数。
  • バイナリ データ : Binary ラッパー クラスのインスタンスを渡します
于 2009-07-29T20:11:06.690 に答える
0

次のような例外を発生させた場合:

raise Exception('Help!')

サーバーでは、クライアントで取得する例外のメッセージ メンバーは、型の文字列表現を前に付けた元の例外で str() を実行するのと同じになります。

メッセージメンバーに対して得られる結果は次のとおりです。

<type 'exceptions.Exception'>:Help!

これを解析して、必要な情報を取得できます。

于 2013-10-03T10:57:22.473 に答える