Attualmente sto cercando di implementare un client che utilizzi un'API di gestione SOAP estesa.Python SOAP Client - usa SUDS o qualcos'altro?
Ho esaminato diverse implementazioni SOAP come pysimplesoap e SUDS. Mentre il primo ha avuto problemi nell'analisi del WSDL a causa di troppe ricorsioni, suds ha funzionato bene (ma lento) e mi piace molto il modulo.
Tuttavia, sembrano esserci diversi problemi con SUDS come l'elevato consumo di memoria, la velocità di analisi WSDL e il supporto mancante per alcuni attributi WSDL (ad esempio l'attributo choice).
Mentre ci sono un sacco di persone che pubblicano attivamente segnalazioni di bug e patch, c'era lo no release di SUDS a partire dallo 0.4 il 2010-09-15. Inoltre, la wiki e la roadmap sembrano un po 'trascurate.
Per me sembra che SUDS non venga più gestito.
Quindi, ecco le mie domande:
- ha senso basare un progetto più ampio sulla schiuma come client SOAP?
- C'è un fork di sud che implementa già alcune patch disponibili nel sistema di ticketing?
- quali alternative sono disponibili, che hanno un ingombro di memoria inferiore e sono facili da usare e in grado di gestire complesse di grandi file WSDL
[aggiornamento novembre 2013] Sono passati
Più di due anni e si scopre che il progetto di suds originale è davvero morto. Non ci sono state ulteriori versioni dal 2010. A causa di questo, molte persone hanno iniziato a biforcarsi e le distribuzioni come Debian stanno distribuendo versioni con patch del pacchetto originale di suds per risolvere alcuni dei problemi.
Posso consigliare la forcella attivamente mantenuta da Jurko che ho usato con successo. Supporta python 3 e risolve molti dei problemi noti di suds. Note di rilascio e bug tracker sono disponibili su Bitbucket il pacchetto è disponibile anche su PyPI in modo che possa essere installato tramite pip.
Il wiki cambia principalmente la versione 0.4 che è stata rilasciata nel 2010 (costruisce numeri e cose del genere). Negli ultimi 365 giorni ci sono circa 11 commit da parte di un singolo contributore, molti dei quali aggiornamenti molto piccoli (1-2 loc). Nessuno dei commit ha dato luogo a una nuova versione – circus
Possiamo confermare [circo] (http://stackoverflow.com/users/593507/circus) sopra l'osservazione: * nessuna nuova versione da [original suds] (https: // pypi.python.org/pypi/suds) dal 2010 *. Tuttavia [niekas] (http://stackoverflow.com/users/2609806/niekas) ha notato che viene mantenuto un fork di sud: [suds-jurko] (https://bitbucket.org/jurko/suds/) ;-) – olibre