[Python] SOAP request tramite Zeep a Zimbra

Valerio Pachera sirio81 a gmail.com
Ven 4 Giu 2021 15:37:59 CEST


Buongiorno a tutti, esiste questa libreria per generare delle richieste
SOAP verso zimbra:
https://github.com/Zimbra-Community/python-zimbra

tuttavia ero curioso di provare la libreria zeep
https://docs.python-zeep.org

per avere un paragone e capire se può essere una valida alternativa.
Sarò sincero, non mangio xml a colazione e vi chiedo se qualcuno ha voglia
di aiutarmi a generare una richiesta SOAP valida tramite zeep.

Zimbra ha una buona documentazione delle proprie API:
https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/index.html

Una delle più banali è la GetAccountInfo.
All'inizio di ogni pagina c'è specificato se serve un "Authorization token
required" (autenticazione utente "normale") oppure "Admin Authorization
token required" (utente amministratore).

Altro concetto importante per l'ambiente Zimbra sono i name space.
GetAccountInfo fa parte dello urn:zimbraAccount.
Tale info la si trova sempre nelle pagine delle api ma ance nella vsdi

python3 -mzeep
https://my-zimbra.addr.tld/service/wsdl/ZimbraUserService.wsdl
Prefixes:
xsd: http://www.w3.org/2001/XMLSchema
ns0: urn:zimbra
ns1: urn:zimbraMail
ns2: urn:zimbraAccount
ns3: urn:zimbraRepl
ns4: urn:zimbraSync
ns5: urn:zimbraVoice

Nonostante abbia chiaro cosa inserire in una richiesta, non mi è chiaro
come fare con la libreria zeep.
Sempre nell'esempio di GetAccountInfo, il contenuto nel tag name viene
interpretato in base a quando inserito nel paramentro "by". Se by="name",
il contenuto del tag sara ad esempio joun.doe a domain.com, se è by="id" sarà
una codice, tipo 1973122c-53c9-4459-b8f9-51a2293dee33.
Non ho idea di come vadano passate queste 2 informazioni e tanto meno
quella del name space.

In fine credo che la parte più difficile nell'uso della libreria zeep è
probabilmente la gestione della sessione SOAP che non ho idea di come
vadano gestite.

Preciso che non sono uno sviluppatore e studio python nei ritagli di tempo
:-(
Non ho quindi un particolare background su programmazione / interazione con
servizi web dal punto di vista di programmazione.

Un saluto.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20210604/4861aeb6/attachment.html>


Maggiori informazioni sulla lista Python