41

从 suds文档Client中,如果我有 WSDL 的 url ,我可以创建一个。

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

我的文件系统上目前有 WSDL 文件。是否可以使用 suds 从我的文件系统中读取 WSDL 文件,而不是将其托管在 Web 服务器上?

4

3 回答 3

58

尝试使用url='file:///path/to/file'

于 2010-10-28T19:51:30.887 回答
18

单线

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

这是一个更完整的班轮,它将:

  • 让您只指定本地路径,
  • 给你绝对路径,
  • 然后将其格式化为文件 URL。

根据:

原文供参考

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

url = urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml")))
于 2015-02-20T02:11:14.977 回答
0

使用路径库:

def wsdl_uri():
    import pathlib
    return pathlib.Path(os.path.abspath("resources/your_definition.wsdl")).as_uri()
    
于 2020-10-29T11:43:31.897 回答