De suds documentation, je peux créer un Client
si j'ai une URL pour le WSDL. J'ai actuellement le fichier WSDL sur mon système de fichiers. Est-il possible d'utiliser sud pour lire le fichier WSDL à partir de mon système de fichiers au lieu de l'héberger sur un serveur Web?Est-il possible d'utiliser python sud pour lire un fichier wsdl à partir du système de fichiers?
35
A
Répondre
48
essayer d'utiliser url='file:///path/to/file'
12
Sur la base des commentaires dans la réponse acceptée et la réponse suivante: https://stackoverflow.com/a/14298190/622276
# Python 2
import urlparse, urllib, os
url = urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml")))
Ceci est un plus complet d'une doublure qui:
- vous permet de spécifier seulement le chemin local,
- vous obtenez le chemin absolu,
- puis formatez-le en tant qu'URL de fichier.
Edit: 2017-07-03 Merci à l'utilisateur Sebastian la mise en œuvre Python 3 mis à jour pour toute personne qui trouve le code ci-dessus en date.
# Python 3
import urllib, os
url = urllib.parse.urljoin('file:', urllib.request.pathname2url(os.path.abspath("service.xml")))
+1
Si quelqu'un utilise python3, les noms ont changé: 'import urllib, os' ' url = urllib.parse.urljoin ('fichier:' , urllib.request.pathname2url (os.path.abspath ("service.xml"))) ' – Sebastian
C'est la bonne réponse. – jathanism
Je devais ajouter un slash supplémentaire, merci pour la réponse. –
Pour ajouter au commentaire de Thierry, il faut aussi qu'il soit un chemin absolu. (par exemple, fichier: ///home/admin/service.xml) – trinth