2011-10-19 15 views
62

Ho cercato sul Web una libreria esistente e supportata per Python 3. (Sia client che server)Quali librerie SOAP esistono per Python 3.x?

Ecco l'elenco delle librerie che ho trovato:

Python 2:

  • Zeep: attiva e ben documentata in Python 2,7/3
  • SOAPy : progetto Python 2 fuori produzione
  • ZSI: dismesso progetto Python 2
  • soaplib: interrotto Python 2 progetto
  • SUDS: interrotto 2 del progetto Python (nessuna attività dal 02/2012)
  • rpclib: interrotto progetto Python 2 (nessuna attività dal 08/2012)

Python 3:

  • Zeep: attiva e ben documentato Python 2/3 progetto
  • SOAPy: interrotto Python 2 progetto
  • pysimplesoap: attiva Python 2/3 progetto
  • SUDS-jurko: tutto inattivo. Progetto Python 2/3
  • ladon: bassa attività. ma solo servizi web

Questo elenco sembra completo? (FYI, ho usato questo post come punto di partenza (Lo scopo di quel post è stato lo stesso, ma per Python 2))

Ladone mi sembra l'unico quadro esistente per Python 3, ma può quanto ne so essere utilizzato solo per implementare il lato server.

NO: Non voglio migrare da solo uno dei progetti Python 2 fuori produzione. Sto cercando un progetto supportato con un team attivo che fornisce aiuto se necessario.

Aggiornato il 28/09/2013

+1

da allora pysimplesoap ha rilasciato un'altra versione e il VCS è stato [abbastanza occupato] (http://code.google.com/p/pysimplesoap/source/list) da allora. – Tshepang

+0

questo deve essere unito a http://stackoverflow.com/questions/3233298/soap-client-for-python-3 http://stackoverflow.com/questions/1534554/does-a-python-3-soap-client -module-exist e http://stackoverflow.com/questions/206154/whats-the-best-soap-client-library-for-python-and-where-is-the-documentation-f – dgorissen

+0

'simplesoap' sembra soddisferà i miei bisogni. Grazie. – timkofu

risposta

0

Ho fatto questa stessa ricerca diversi mesi fa e sono venuto alle stesse conclusioni. Non c'è davvero molto da scegliere in questo spazio. Ho finito per attaccare con Python 2.7 e usare SOAPy per il mio progetto perché era così facile da usare. Potrebbe essere interrotto ma funziona ancora. Immagino che a volte devi solo sporcarti un po 'le mani e supportarti, per questo motivo siamo chiamati programmatori.

+2

Attualmente sto usando SUDS in Python 3. L'ho portato da solo. Ma mi piacerebbe davvero non essere costretto a immergermi nel codice sorgente di un progetto di terze parti ogni volta che si verifica un problema ... – gecco

+1

Hai provato a reindirizzare la tua versione con porting al gruppo SUDS per vedere se lo accetteranno? Potrebbero essere contenti di avere una versione già caricata su Python 3 e questo potrebbe sollevarti dal doverlo supportare da solo. – ThatAintWorking

+6

Sì: https://fedorahosted.org/suds/ticket/393 – gecco

0

rpclib: sembra l'unico progetto attivo. Nella loro descrizione, dicono che stanno cercando volontari per testarlo per Python 3.Quindi forse dovresti offrirti volontario!

2

A seconda della complessità del servizio, è possibile utilizzare ladone per il lato server e preparare il client a mano fino a quando non è disponibile una soluzione migliore.

Basta chiamare il servizio con suds (o simile) con la registrazione attivata e notare il ritorno SOAP sulla richiesta. Usalo per avvolgere la tua richiesta e chiama il servizio con semplice http.

Non è una soluzione ideale, ma può farti arrivare fino a quando non hai un pacchetto per sostituirlo.