je besoin d'une bibliothèque SOAP python qui peut gérer les pièces jointes multipart. Ma compréhension est que ceci n'est pas supporté par SOAPpy ou par de la mousse mais qu'il est supporté par ZSI et zeep. Cependant, bien que SOAPpy marche bien avec le fichier WSDL que j'ai besoin d'utiliser, ZSI et zeep me donnent des erreurs. Voici le fichier WSDL: http://nva1wss.webex.com/nbr/services/NBRStorageService?wsdl. J'ai ouvert le fichier dans SoapUI et utilisé l'option "Check WSI Compliance" et il a passé toutes les vérifications.Python SOAP WSDL fonctionne en SOAPpy mais pas ZSI ou zeep
Voici mes erreurs:
zeep.exceptions.NamespaceError: Impossible de résoudre le type {} NBRStorageService DataHandler. Aucun schéma disponible pour l'espace de noms u'NBRStorageService '.
ZSI.generate.WsdlGeneratorError: impossible de trouver l'importation pour le schéma "NBRStorageService", éventuellement attribut @schemaLocation manquant.
---- ---- Mise à jour Infos
Basé sur la sortie verbeuse de zeep Je crois que le problème avec le WSDL est qu'il utilise un type de données que zeep ne parvient pas à résoudre dans le document de schéma au http://schemas.xmlsoap.org/soap/encoding/. Voici la définition du type de données dans le WSDL:
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://nva1wss.webex.com/nbr/services/NBRStorageService">
<import namespace="NBRStorageService"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_tns1_DataHandler">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="tns1:DataHandler[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
Ce WSDL semble avoir été généré avec Apache Axis 1.4.
Toutes les idées sur la façon de contourner cela? Ou si quelqu'un a des recommandations spécifiques pour les changements côté serveur, je ne peux pas les faire, mais je peux certainement les communiquer aux développeurs qui gèrent le serveur.
Merci!