PANORAMICA
Il client di servizi web "Suds" è un client leggero basato su SOAP per Python, con licenza LGPL.
Per dettagli, visita:
NOTE DI RILASCIO:
versione 0.3.6 (04-31-09):
- Modifica hard coded /tmp/suds in tempfile.gettempdir() e crea suds/ su richiesta.
- Correggi tipo restituito per Any.get_attribute().
- Aggiorna caching HTTP per ignorare gli URL file://.
- Migliore logging dei messaggi quando viene iniettata solo la risposta.
- Correggi tipi XInteger e XFloat per tradurre correttamente gli array restituiti.
- Correggi schema xs:import con stesso namespace.
- Aggiorna parser per non caricare riferimenti esterni e aggiungi Import.bind() per la posizione di XMLSchema.xsd.
- Aggiungi schema doctor - utilizzato per correggere XSD a runtime. (Vedi Option.doctor)
- Correggi avvisi di deprecazione in Python 2.6.
- Aggiungi comportamento per @default definito su .
- Cambia valore di @xsi:type in modo che sia sempre qualificato per doc/literal. (annulla la modifica della 0.3.5).
- Aggiungi opzione Option.xstq per controllare quando @xsi:type è qualificato.
- Ticket risolti: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
versione 0.3.5 (04-16-09):
- Aggiunge caching HTTP. Predefinito è (1) giorno. Non si applica all'invocazione di metodi. Vedi: documentazione per dettagli.
- Rimossa verifica versione fedora nello spec poiché non si compila più per < fc9.
- Aggiornato makefile per creare tarball con tar.sh.
- Spostata determinazione bare/wrapped nel wsdl per document/literal.
- Refactoring di Transport in un pacchetto (fornisce miglior logging degli header HTTP).
- Ticket risolti: #207, #209, #210, #212, #214, #215
versione 0.3.4 (02-24-09):
- Static (automatico) Import.bind('http://schemas.xmlsoap.org/soap/encoding/'),
gli utenti non devono più farlo.
- Sicurezza ws di base con {{{UsernameToken}}} e solo password in chiaro.
- Aggiungi supporto per header SOAP ''sparse'' tramite passaggio di dizionario.
- Aggiungi supporto per header SOAP arbitrari definiti dall'utente.
- Correggi operazioni di servizio con multiple voci di header SOAP.
- Miglioramenti all'algoritmo di caricamento e dereferenziazione degli schemi.
- Correzione multiref SOAP annidati.
- Supporto migliore (vero) per elementFormDefault="unqualified" fornisce un namespacing più accurato.
- I tipi parte WSDL non predefiniscono più al targetNamespace WSDL.
- Ticket risolti: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201.
versione 0.3.3 (11-31-08):
- Non installa più il pacchetto (tests).
- Implementa proposta API-3 ( https://fedorahosted.org/suds/wiki/Api3Proposal )
- Trasporto collegabile
- Argomenti di metodo con keyword
- Autenticazione HTTP base nel trasporto predefinito
- Aggiungi normalizzazione del prefisso namespace nel messaggio SOAP.
- Migliore potatura dei nodi vuoti nel messaggio SOAP.
- Ticket risolti: #51 - #60
versione 0.3.2 (11-7-08):
- SOAP {{{MultiRef}}} support ''(primo passaggio aggiunto in r300)''
- Aggiungi supporto per nuovi tag schema:
- Aggiunto supporto per nuove conversioni di tipo xs <--> python:
- xs:int
- xs:long
- xs:float
- xs:double
- Rivedi marshaller e binding per affinare ulteriormente il namespacing dei nodi prodotti.
- Corretta ricorsione infinita nel pacchetto ''xsd'' dereference() durante il caricamento dello schema.
- Aggiungi supporto per wsdl:import/ di file schema nella radice del wsdl.
- Corretto doppio encoding di (&)
- Aggiungi API Client:
- setheaders() - come keyword ma funziona per tutte le invocazioni.
- addprefix() - mappatura dei prefissi namespace.
- setlocation() - Sovrascrive la posizione nel wsdl; come keyword tranne per tutte le chiamate.
- setproxy() - come proxy keyword ma per tutte le invocazioni.
- Aggiungi prefisso namespace appropriato per gli header SOAP.
- Ticket risolti: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
versione 0.3.1 (10-1-08):
- Seguito rapido al rilascio 0.3 che rendeva le definizioni di servizio multi-porta
più difficili del necessario. Dopo averci pensato (e una buona notte di sonno),
è sembrato ovvio che alcuni cambiamenti avrebbero reso tutto molto più semplice: 1) filtrare
i binding non-SOAP - erano la vera causa del problema; 2) dato che la maggior parte dei server
è soddisfatta con qualsiasi binding SOAP (SOAP 1.1 e 1.2), i riferimenti ambigui ai metodi
quando invocati senza la qualifica di porta funzioneranno correttamente in quasi tutti i casi.
Quindi, perché non permettere a suds di selezionare la porta? Non costringiamo l'utente a farlo
quando non è necessario. Nella maggior parte dei casi, gli utenti di 0.2.9 e precedenti non dovranno
aggiornare il loro codice quando passano a 0.3.1, come avrebbero potuto fare in 0.3.
versione 0.3 (9-30-08):
-
Estende il supporto per servizi multi-porta introdotto in 0.2.9. Questa aggiunta
permette a più servizi di definire lo stesso metodo e suds
lo gestirà correttamente. Vedi sezione 'SERVIZI CON PORTE MULTIPLE:'
-
Aggiungi supporto per lo stile di binding SOAP document/literal multi-documento.
Vedi sezione 'MULTI-DOCUMENTO Document/Literal:'
-
Aggiungi supporto per tag (xs:group, xs:attributeGroup).
-
Aggiungi Client.last_sent() e Client.last_received().
versione 0.2.9 (9-09-08):
- Supporto per porte multiple all'interno di un servizio.
- Riferimenti ad attributi <xs:attribute ref=""/>
- Reso collegabile il codificatore di caratteri speciali XML nel pacchetto sax.
versione 0.2.8 (8-28-08):
-
Aggiorna binding document/literal per inviare sempre la radice del documento referenziata da .
Dopo un'ulteriore revisione dello spazio e dell'input utente, sembra che l'elemento referenziato
sia SEMPRE la radice del documento.
-
Aggiungi supporto per il binding di schemaLocations a namespace-uri.
Questo è per gli import che non specificano uno schemaLocation e si aspettano comunque che lo schema
venga scaricato. Es: Axis fa riferimento a 'http://schemas.xmlsoap.org/soap/encoding/'
senza uno schemaLocation. Quindi, facendo:
da suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
Lo schema viene associato a uno schemaLocation e viene scaricato.
-
Il demarshaller base non ha bisogno di un /schema/.
Doveva essere rimosso durante il refactoring ma è stato perso.
-
Aggiorna client per passare kwargs a send() e aggiungi kwarg /location/ per sovrascrivere la
posizione del servizio nel wsdl.
-
Aggiorna marshaller per NON emettere XML per attributi di oggetti che rappresentano elementi e/o attributi che
sono entrambi opzionali e value=None.
* Aggiorna factory (builder) per includere tutti gli attributi.
* Aggiungi metodo optional() a SchemaObject.
-
Aggiorna wsdl per sovrascrivere il namespace nell'operazione se specificato.
-
Correggi problema di caricamento schema - costruisci tutti gli schemi prima di processare gli import.
-
Aggiorna packaging in preparazione dell'invio a fedora.
versione 0.2.7 (8-11-08):