Можно ли использовать python suds для чтения файла wsdl из файловой системы? - PullRequest
38 голосов
/ 28 октября 2010

Из suds документации , я могу создать Client, если у меня есть URL для WSDL.

from suds.client import Client
url = 'http://localhost:7080/webservices/WebServiceTestBean?wsdl'
client = Client(url)

В настоящее время у меня есть файл WSDL в моей файловой системе. Можно ли использовать suds для чтения файла WSDL из моей файловой системы вместо размещения его на веб-сервере?

Ответы [ 2 ]

55 голосов
/ 28 октября 2010

попробуйте использовать url='file:///path/to/file'

14 голосов
/ 20 февраля 2015

Oneliner

# Python 3
import urllib, os 
url = urllib.parse.urljoin('file:', urllib.request.pathname2url(os.path.abspath("service.xml")))

Это более полный вкладыш, который:

  • позволит вам указать только локальный путь,
  • даст вам абсолютныйпуть,
  • , а затем отформатируйте его как URL-адрес файла.

На основании:

  • комментариев в принятом ответе и
  • этого https://stackoverflow.com/a/14298190/622276
  • и благодаря пользователю Себастьян обновленная реализация Python 3, поскольку в настоящее время мы должны избегать написания устаревшего Python.

Оригинал для справки

# Python 2 (Legacy Python)
import urlparse, urllib, os

url = urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml")))
...