ÜBERSICHT
Der „Suds“-Webservices-Client ist ein leichtgewichtiger SOAP-basierter Client für Python,
der unter der LGPL lizenziert ist.
Details finden Sie unter:
RELEASE-NOTES:
Version 0.3.6 (31.04.09):
- Ändert das fest kodierte /tmp/suds in tempfile.gettempdir() und erstellt suds/ bei Bedarf.
- Korrigiert den Rückgabetyp für Any.get_attribute().
- Aktualisiert das HTTP-Caching, um file://-URLs zu ignorieren.
- Bessere Protokollierung von Nachrichten, wenn nur die Antwort injiziert wird.
- Korrigiert die Typen XInteger und XFloat, damit zurückgegebene Arrays ordnungsgemäß übersetzt werden.
- Korrigiert das xs:import-Schema mit demselben Namespace.
- Aktualisiert den Parser, um keine externen Referenzen zu laden, und fügt Import.bind() für den Speicherort von XMLSchema.xsd hinzu.
- Fügt Schema-Doctor hinzu – verwendet, um XSDs zur Laufzeit zu patchen. (Siehe Option.doctor)
- Korrigiert Deprecation-Warnungen in Python 2.6.
- Fügt Verhalten für @default hinzu, das auf definiert ist.
- Ändert den Wert von @xsi:type so, dass er für doc/literal immer qualifiziert ist. (macht die Änderung von 0.3.5 rückgängig).
- Fügt die Option Option.xstq hinzu, um zu steuern, wann @xsi:type qualifiziert wird.
- Behobene Tickets: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
Version 0.3.5 (16.04.09):
- Fügt HTTP-Caching hinzu. Standard ist (1) Tag. Gilt nicht für Methodenaufrufe. Siehe: Dokumentation für Details.
- Entfernt den Fedora-Versionscheck im Spec, da nicht mehr für < fc9 gebaut wird.
- Aktualisiert das Makefile, um das Tarball mit tar.sh zu erstellen.
- Verschiebt die Bestimmung von bare/wrapped für document/literal zum wsdl.
- Refaktoriert Transport in ein Paket (bietet eine bessere Protokollierung der HTTP-Header).
- Behobene Tickets: #207, #209, #210, #212, #214, #215
Version 0.3.4 (24.02.09):
- Statisches (automatisches) Import.bind('http://schemas.xmlsoap.org/soap/encoding/'),
Benutzer müssen dies nicht mehr manuell tun.
- Basis-WS-Security mit {{{UsernameToken}}} und nur Klartext-Passwort.
- Fügt Unterstützung für ''sparse'' SOAP-Header durch Übergabe eines Wörterbuchs hinzu.
- Fügt Unterstützung für beliebige benutzerdefinierte SOAP-Header hinzu.
- Korrigiert Serviceoperationen mit mehreren SOAP-Header-Einträgen.
- Verbesserte Algorithmen zum Laden und Dereferenzieren von Schemas.
- Verschachtelte SOAP-Multirefs korrigiert.
- Bessere (echte) Unterstützung für elementFormDefault="unqualified" sorgt für eine
genauere Namespace-Vergabe.
- WSDL-Part-Typen verwenden standardmäßig nicht mehr den WSDL-targetNamespace.
- Behobene Tickets: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.
Version 0.3.3 (31.11.08):
- Installiert das Paket (tests) nicht mehr.
- Implementiert den API-3-Vorschlag ( https://fedorahosted.org/suds/wiki/Api3Proposal )
- Steckbarer Transport
- Schlüsselwort-Methodenargumente
- Basis-HTTP-Authentifizierung im Standardtransport
- Fügt Namespace-Präfix-Normalisierung in SOAP-Nachrichten hinzu.
- Besseres Entfernen leerer Knoten in SOAP-Nachrichten.
- Behobene Tickets: #51 - #60
Version 0.3.2 (07.11.08):
- SOAP {{{MultiRef}}}-Unterstützung ''(1. Durchgang hinzugefügt mit r300)''
- Fügt Unterstützung für neue Schema-Tags hinzu:
- Fügt Unterstützung für neue xs <--> Python-Typkonvertierungen hinzu:
- xs:int
- xs:long
- xs:float
- xs:double
- Überarbeitet Marshaller und Binding, um die Namespace-Vergabe der erzeugten Knoten weiter zu verbessern.
- Unendliche Rekursion in der ''xsd''-Paket-dereference() beim Laden von Schemas behoben.
- Fügt Unterstützung für wsdl:import/ von Schema-Dateien in das WSDL-Root hinzu.
- Korrigiert doppelte Kodierung von (&)
- Fügt Client-API hinzu:
- setheaders() - wie das Schlüsselwort, funktioniert aber für alle Aufrufe.
- addprefix() - Zuordnung von Namespace-Präfixen.
- setlocation() - Überschreibt den Speicherort im WSDL; wie das Schlüsselwort, außer für alle Aufrufe.
- setproxy() - wie das Proxy-Schlüsselwort, aber für alle Aufrufe.
- Fügt korrektes Namespace-Präfix für SOAP-Header hinzu.
- Behobene Tickets: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
Version 0.3.1 (01.10.08):
- Schnelles Follow-up zur 0.3-Veröffentlichung, die die Arbeit mit Multi-Port-Service-Definitionen
unnötig erschwerte. Nach Überlegung (und einer guten Nacht Schlaf)
schien es offensichtlich, dass ein paar Änderungen dies viel einfacher machen würden: 1) die
Nicht-SOAP-Bindings herausfiltern – sie verursachten die eigentlichen Probleme; 2) da die meisten Server
mit jedem der SOAP-Bindings (SOAP 1.1 und 1.2) zufrieden sind, funktionieren mehrdeutige Referenzen auf Methoden
beim Aufruf ohne die Port-Qualifizierung in fast jedem Fall einwandfrei.
Warum also nicht einfach zulassen, dass suds den Port auswählt? Lassen wir den Benutzer es nicht tun,
wenn es nicht notwendig ist. In den meisten Fällen müssen Benutzer von 0.2.9 und früher
ihren Code beim Wechsel auf 0.3.1 nicht aktualisieren, wie sie es möglicherweise bei 0.3 müssten.
Version 0.3 (30.09.08):
-
Erweitert die Unterstützung für Multi-Port-Dienste, die in 0.2.9 eingeführt wurde. Diese Ergänzung
ermöglicht es mehreren Diensten, dieselbe Methode zu definieren, und suds wird
dies ordnungsgemäß behandeln. Siehe Abschnitt 'SERVICES WITH MULTIPLE PORTS:'
-
Fügt Unterstützung für den Multi-Dokument-Document/Literal-SOAP-Binding-Stil hinzu.
Siehe Abschnitt 'MULTI-DOCUMENT Docuemnt/Literal:'
-
Fügt Unterstützung für (xs:group, xs:attributeGroup)-Tags hinzu.
-
Fügt Client.last_sent() und Client.last_received() hinzu.
Version 0.2.9 (09.09.08):
- Unterstützung für mehrere Ports innerhalb eines Dienstes.
- Attributreferenzen <xs:attribute ref=""/>
- Macht den XML-Sonderzeichen-Encoder im sax-Paket steckbar
Version 0.2.8 (28.08.08):
-
Aktualisiert das Document/Literal-Binding, um immer das Dokument-Root zu senden, auf das sich das bezieht.
Nach einer weiteren Überprüfung des Raums und des Benutzerfeedbacks scheint es, dass das referenzierte
Element IMMER das Dokument-Root ist.
-
Fügt Unterstützung für 'binding'-schemaLocations zu Namespace-URI hinzu.
Dies ist für Imports, die keine schemaLocation angeben und dennoch erwarten, dass das Schema
heruntergeladen wird. Z. B.: Axis referenziert 'http://schemas.xmlsoap.org/soap/encoding/'
ohne eine schemaLocation. Also, indem man Folgendes tut:
from suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
Wird das Schema an eine schemaLocation gebunden und heruntergeladen.
-
Der grundlegende Unmarshaller benötigt kein /schema/.
Hätte während der Refaktorierung entfernt werden sollen, wurde aber übersehen.
-
Aktualisiert den Client, um kwargs an send() zu übergeben, und fügt das /location/-kwarg zum Überschreiben des
Dienststandorts im WSDL hinzu.
-
Aktualisiert den Marshaller, um KEIN XML für Objektattribute zu erzeugen, die Elemente und/oder Attribute darstellen, die
sowohl optional als auch value=None sind.
* Aktualisiert die Factory (Builder), um alle Attribute einzuschließen.
* Fügt die Methode optional() zum SchemaObject hinzu.