2

Spyneのマニュアルspyne.model.fault.Faultでは、Spyne で SOAP フォールトを作成する正しい方法は(または独自のサブクラス) のインスタンスを発生させることであると指摘しています。

@add_metaclass(ComplexModelMeta)
class Fault(ComplexModelBase, Exception):
    # ...

サブクラス化する理由を理解しようとしていComplexModelBaseます。私の最初の仮定は、次のよう<detail>に、サブクラスの SOAP Fault の要素に入れたい要素を宣言することでした。Fault

class MyApplicationError(Fault):
    __namespace__ = 'http://myapplication.com/ns'
    _type_info = [
        ('reason', Unicode),
    ]

ただし、実際にこの例外を発生させるdetailと、コンストラクターのパラメーターにプレーンな dict を渡す必要があるようです。

detail構造化されたデータ セットを入力するためのベスト プラクティスは何ですか? Faultサブクラスでこの構造を宣言しますか?
はいの場合、どのように埋めますか? そうでない場合、なぜFaultサブクラス化するのComplexModelBaseですか?

4

1 に答える 1