概要
"Suds" Webサービスクライアントは、LGPL ライセンスの Python 向け軽量 SOAP ベースのクライアントです。
詳細は以下を参照してください:
リリースノート:
バージョン 0.3.6 (04-31-09):
- ハードコードされた /tmp/suds を tempfile.gettempdir() に変更し、suds/ をオンデマンドで作成するようにしました。
- Any.get_attribute() の戻り値の型を修正しました。
- http キャッシュを更新し、file:// URL を無視するようにしました。
- 応答のみが注入された場合のメッセージロギングを改善しました。
- XInteger 型と XFloat 型が返された配列を正しく変換するように修正しました。
- 同じ名前空間を持つ xs:import スキーマを修正しました。
- パーサーを更新して外部参照を読み込まないようにし、XMLSchema.xsd の場所に Import.bind() を追加しました。
- スキーマドクターを追加 - 実行時に XSD にパッチを当てるために使用します。(Option.doctor を参照)
- python 2.6 の非推奨警告を修正しました。
- に定義された @default の動作を追加しました。
- @xsi:type の値を doc/literal で常に修飾するように変更しました。(0.3.5 の変更を元に戻します)
- @xsi:type が修飾されるタイミングを制御する Option.xstq オプションを追加しました。
- 修正したチケット: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
バージョン 0.3.5 (04-16-09):
- http キャッシュを追加しました。デフォルトは(1)日です。メソッド呼び出しには適用されません。詳細はドキュメントを参照してください。
- spec が fc9 未満をビルドしなくなったため、fedora バージョンチェックを削除しました。
- makefile を更新し、tar.sh で tarball をロールするようにしました。
- document/literal の bare/wrapped 判定を wsdl に移動しました。
- Transport をパッケージにリファクタリングしました(http ヘッダーのロギングが向上します)。
- 修正したチケット: #207, #209, #210, #212, #214, #215
バージョン 0.3.4 (02-24-09):
- 静的(自動)の Import.bind('http://schemas.xmlsoap.org/soap/encoding/') を追加。
ユーザーはこれを実行する必要がなくなりました。
- {{{UsernameToken}}} とクリアテキストパスワードのみを使用する基本的な ws-security を追加しました。
- 辞書を渡すことで ''sparse'' SOAP ヘッダーをサポートしました。
- ユーザー定義の任意の SOAP ヘッダーをサポートしました。
- 複数の SOAP ヘッダーエントリを持つサービス操作を修正しました。
- スキーマの読み込みと参照解決アルゴリズムを拡張しました。
- ネストされた SOAP マルチリファレンスを修正しました。
- elementFormDefault="unqualified" のより良い(真の)サポートにより、名前空間付けがより正確になりました。
- WSDL の part 型は、デフォルトで WSDL の targetNamespace にならなくなりました。
- 修正したチケット: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201。
バージョン 0.3.3 (11-31-08):
バージョン 0.3.2 (11-7-08):
- SOAP {{{MultiRef}}} サポート ''(第1パスは r300 で追加)''
- 新しいスキーマタグのサポートを追加:
- 新しい xs <--> python 型変換のサポートを追加:
- xs:int
- xs:long
- xs:float
- xs:double
- 生成されるノードの名前空間付けをさらに明確にするため、マーシャラーとバインディングを改訂しました。
- スキーマ読み込み中の ''xsd'' パッケージの dereference() における無限再帰を修正しました。
- wsdl ルート にスキーマファイルをインポートする wsdl:import/ のサポートを追加しました。
- (&) の二重エンコーディングを修正しました。
- Client API を追加:
- setheaders() - キーワードと同じですが、すべての呼び出しで機能します。
- addprefix() - 名前空間プレフィックスのマッピング。
- setlocation() - wsdl 内の場所を上書きします。キーワードと同じですが、すべての呼び出しに適用されます。
- setproxy() - proxy キーワードと同じですが、すべての呼び出しに適用されます。
- SOAP ヘッダーに適切な名前空間プレフィックスを追加しました。
- 修正したチケット: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
バージョン 0.3.1 (10-1-08):
- 0.3 リリースへの迅速なフォローアップで、マルチポートサービスの定義を
必要以上に扱いにくくしていました。 検討した結果(そしてよく眠った後)、
いくつかの変更を加えればこれがはるかに簡単になることは明らかでした: 1) 除外する
SOAP 以外のバインディング - それが本当の問題を引き起こしていた; 2) ほとんどのサーバーは
任意の SOAP バインディング(soap 1.1 と 1.2)で問題ないため、メソッドへの曖昧な参照は
ポート修飾なしで呼び出す場合でも、ほぼすべての
ケースで問題なく機能します。 では、なぜ suds にポートを選択させるだけでよいのでしょうか。 ユーザーにそれをさせるのをやめましょう
必要な場合を除いて。 ほとんどの場合、0.2.9 以前のユーザーは
0.3.1 に移行する際に、0.3 で必要だったようにコードを更新する必要はありません。
バージョン 0.3 (9-30-08):
-
0.2.9 で導入されたマルチポートサービスのサポートを拡張します。 この追加により、
複数のサービスが 同じ メソッドを定義でき、suds が
それを適切に処理します。 セクション 'SERVICES WITH MULTIPLE PORTS:' を参照してください。
-
マルチドキュメントの document/literal SOAP バインディングスタイルのサポートを追加します。
セクション 'MULTI-DOCUMENT Docuemnt/Literal:' を参照してください。
-
(xs:group, xs:attributeGroup) タグのサポートを追加します。
-
Client.last_sent() と Client.last_received() を追加します。
バージョン 0.2.9 (9-09-08):
- サービス内の複数ポートのサポート。
- 属性参照 <xs:attribute ref=""/>
- sax パッケージの XML 特殊文字エンコーダーをプラガブルにしました。
バージョン 0.2.8 (8-28-08):
-
document/literal バインディングを更新し、 によって参照されるドキュメントルートを常に送信するようにしました。
仕様とユーザー入力を再度確認したところ、参照される
要素は常にドキュメントルートであるようです。
-
'binding' スキーマロケーションの名前空間 URI へのマッピングをサポートします。
これは、schemaLocation を指定せず、それでもスキーマのダウンロードを期待するインポートのためのものです。
例: Axis は schemaLocation なしで 'http://schemas.xmlsoap.org/soap/encoding/'
を参照します。 そこで、次のようにすることで:
from suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
スキーマが schemaLocation にバインドされ、ダウンロードされます。
-
基本的なアンマーシャラーは /schema/ を必要としません。
リファクタリング中に削除されるべきでしたが見逃されました。
-
クライアントを更新し、send() に kwargs を渡し、wsdl 内のサービス場所を上書きするための /location/ kwarg を追加しました。
-
オブジェクト属性のうち、要素および/または属性を表し、両方 がオプションで value=None であるものについて、
XML を出力しないようにマーシャラーを更新しました。
* すべての属性を含むように factory (builder) を更新しました。
* SchemaObject に optional() メソッドを追加しました。
-
指定されている場合、操作内の名前空間を上書きするように wsdl を更新しました。
-
スキーマ読み込みの問題を修正 - インポートを処理する前にすべてのスキーマを構築します。
-
fedora への提出に備えてパッケージングを更新しました。
バージョン 0.2.7 (8-11-08):
- document/literal - wrapped および unwrapped の検出/サポートを追加しました。
- document/literal {wrapped} を更新し、ドキュメントルート( の下)がラッパー要素(適切な名前空間付き)になるようにしました。
- 、、 が maxOccurs を持つ場合のサポートを追加し、アンマーシャラーが非有界コレクションに含まれる要素の値をリストとして設定できるようにしました。
- client.factory (builder) を更新し、 の子を省略するようにしました。'user' が実際にどの子を含めるかを決定する必要があるためです。
- インポートされたスキーマから型が再フラット化されるのを防ぐため、フラット化アルゴリズムを更新しました。
- フラット化/マージアルゴリズムの調整。
バージョン 0.2.6 (8-5-08):
- xsd パッケージの改修中に壊れた ENUM を修正しました。
- チケット #24 で定義された型を修正しました。
- チケット #30 で報告されたメソッドシグネチャ内の重複するパラメータ名を修正しました。
- Suds は LGPL としてライセンスされました。
- チケット #31 のパッチで提案されたように、suds.init() 内のロギング設定を削除しました。 ユーザーはロガーを設定する必要があります。
- Client.Factory.create() の代替構文をサポート: {namespace}name としてビルドする型を完全修飾します。 例: client.factory.create('{http://blabla.com/ns}Person')
バージョン 0.2.5 (8-01-08):
-
(XSD) パッケージを全面的に見直しました。 この新しい(マージ)アプローチはよりシンプルで、信頼性と保守性が向上するはずです。 また、マージされたスキーマは辞書ルックアップでルックアップを実行するため、パフォーマンスも向上するはずです。
この見直しにより、現在の TypeNotFound と xs:extension/ の問題が修正されるはずです。願っています :-)。
-
dateTime の出力バグを修正しました。
-
それ自身を含む xsd 型に対する builder.Builder の無限再帰防止を追加しました。
バージョン 0.2.4 (7-28-08):
- WSDL インポートのサポートを追加: wsdl:import/
- 次の xsd<->python 型変換のサポートを追加しました(Nathan Van Gheem に感謝):
- xs:date
- xs:time
- xs:dateTime
- 修正:
- バグ: schemaLocation が指定されたスキーマ 。
- バグ: サービス定義で指定された名前空間が、client/proxy が表示されるまで有効にならない。
バージョン 0.2.3 (7-23-08):
バージョン 0.2.2 (7-8-08):