2009-07-29 10 views
0

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

RPC_Server.AbortTest() ファイル "C:\ Python25 \ libに\ xmlrpclib.py"、行1147、(自己.__名、引数) ファイル「Cを送信.__ コール リターン自己に:\ Python25 \ lib \ xmlrpclib.py "、行1437、__request verbose = self .__詳細 ファイル" C:\ Python25 \ lib \ xmlrpclib.py "、行1201、リクエスト中 return self._parse_response(h.getfile() 、靴下) ファイル "C:\ Python25 \ lib \ xmlrpclib.py"、行1340、_parse_response 返信u.close() ファイル "C:\ Python25 \ lib \ xmlrpclib.py"、行787、クローズ フォールス(** self._stack [0]) xmlrpclib.Fault :: RPCによって中止されたテスト 要求 ">

答えて

1

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

XMLでマーシャリングできるオブジェクトのみを使用できます。 TrueとFalseの定数

  • 整数:直接で
  • 浮動小数点数を渡す:直接で
  • 文字列を渡します。これは

    • ブールを含む任意のPythonのシーケンス:直接
    • の配列を渡します適合する要素を含むタイプ。配列はリストとして返されます。
    • 構造体:Python辞書。キーは文字列でなければならず、値は任意の適合型である可能性があります。ユーザー定義のクラスのオブジェクトを渡すことができます。その__dict__属性のみが送信されます。
    • 日付:エポック(DateTimeクラスのインスタンスを渡す)以降の秒数またはdatetime.datetimeインスタンス。
    • バイナリデータ:サーバーで

      raise Exception('Help!') 
      

      あなたがクライアントで取得例外のメッセージメンバー:あなたはこのような例外を発生させる場合は、バイナリラッパクラス

  • 0

    のインスタンスを渡しますその型の文字列表現が前に付いた元の例外に対してstr()を実行するのと同じになります。私はメッセージ・メンバーの取得

    結果は次のとおりです。

    <type 'exceptions.Exception'>:Help! 
    

    あなたは確かにあなたが必要な情報を取得するには、これを解析することができます。

    関連する問題