Python suds脚本失败,出现异常:导入架构失败,找不到记录器的处理程序;suds.xsd.sxbasic“;

Python suds脚本失败,出现异常:导入架构失败,找不到记录器的处理程序;suds.xsd.sxbasic“;,python,soap,suds,Python,Soap,Suds,Python新手。 尝试使用Python构建一个简单的soap客户端。 同样的程序在不涉及代理的环境中工作 ***********Version 1 import suds import urllib2 t = suds.transport.http.HttpTransport() proxy = urllib2.ProxyHandler({'http': 'http://xxx.xxx.xxx.xxx:xx'}) opener = urllib2.build_opener(proxy) t.u

Python新手。 尝试使用Python构建一个简单的soap客户端。 同样的程序在不涉及代理的环境中工作

***********Version 1
import suds
import urllib2
t = suds.transport.http.HttpTransport()
proxy = urllib2.ProxyHandler({'http': 'http://xxx.xxx.xxx.xxx:xx'})
opener = urllib2.build_opener(proxy)
t.urlopener = opener
ws = suds.client.Client('http://Server:13080/SM/7/ServiceDesk.wsdl', transport=t)
>>> 
No handlers could be found for logger "suds.xsd.sxbasic"
Traceback (most recent call last):
File "C:\localdisk\Python\testSoap.py", line 20, in <module>
ws = suds.client.Client('http://Server:13080/SM/7/ServiceDesk.wsdl', transport=t)
File "build\bdist.win32\egg\suds\client.py", line 112, in __init__
self.wsdl = reader.open(url)
File "build\bdist.win32\egg\suds\reader.py", line 152, in open
d = self.fn(url, self.options)
File "build\bdist.win32\egg\suds\wsdl.py", line 159, in __init__
self.build_schema()
File "build\bdist.win32\egg\suds\wsdl.py", line 220, in build_schema
self.schema = container.load(self.options)
File "build\bdist.win32\egg\suds\xsd\schema.py", line 93, in load
child.open_imports(options)
File "build\bdist.win32\egg\suds\xsd\schema.py", line 305, in open_imports
imported = imp.open(options)
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 542, in open
result = self.download(options)
File "build\bdist.win32\egg\suds\xsd\sxbasic.py", line 567, in download
raise Exception(msg)
Exception: imported schema (http://www.w3.org/2005/05/xmlmime) at (http://www.w3.org/2005/05/xmlmime), failed
>>> 
**********第1版
进口肥皂水
导入urllib2
t=suds.transport.http.HttpTransport()
proxy=urllib2.ProxyHandler({'http':'http://xxx.xxx.xxx.xxx:xx'})
opener=urlib2.build\u opener(代理)
t、 urlopener=opener
ws=suds.client.client('http://Server:13080/SM/7/ServiceDesk.wsdl,传输=t)
>>> 
找不到记录器“suds.xsd.sxbasic”的处理程序
回溯(最近一次呼叫最后一次):
文件“C:\localdisk\Python\testSoap.py”,第20行,在
ws=suds.client.client('http://Server:13080/SM/7/ServiceDesk.wsdl,传输=t)
文件“build\bdist.win32\egg\suds\client.py”,第112行,在__
self.wsdl=reader.open(url)
文件“build\bdist.win32\egg\suds\reader.py”,第152行,打开
d=self.fn(url,self.options)
文件“build\bdist.win32\egg\suds\wsdl.py”,第159行,在__
self.build_schema()
文件“build\bdist.win32\egg\suds\wsdl.py”,第220行,在build\u模式中
self.schema=container.load(self.options)
加载文件“build\bdist.win32\egg\suds\xsd\schema.py”,第93行
child.open_导入(选项)
文件“build\bdist.win32\egg\suds\xsd\schema.py”,第305行,在open\u导入中
导入=导入打开(选项)
文件“build\bdist.win32\egg\suds\xsd\sxbasic.py”,第542行,打开
结果=self.download(选项)
下载文件“build\bdist.win32\egg\suds\xsd\sxbasic.py”,第567行
引发异常(msg)
例外:导入的架构(http://www.w3.org/2005/05/xmlmime)在(http://www.w3.org/2005/05/xmlmime),失败
>>> 


**********版本2*********
从suds.client导入客户端
从suds导入WebFault
url='1〕http://Server:13080/SM/7/ServiceDesk.wsdl'
userid='falcon'
passwd=''
d=dict(http://www.dict.com)http://xxx.xxx.xxx.xxx:xx')
client=client(url,proxy=d)
打印客户端
>>> 
找不到记录器“suds.xsd.sxbasic”的处理程序
回溯(最近一次呼叫最后一次):
文件“C:\localdisk\Python\smWSDL.py”,第24行,在
client=client(url,proxy=d)
文件“build\bdist.win32\egg\suds\client.py”,第112行,在__
self.wsdl=reader.open(url)
文件“build\bdist.win32\egg\suds\reader.py”,第152行,打开
d=self.fn(url,self.options)
文件“build\bdist.win32\egg\suds\wsdl.py”,第159行,在__
self.build_schema()
文件“build\bdist.win32\egg\suds\wsdl.py”,第220行,在build\u模式中
self.schema=container.load(self.options)
加载文件“build\bdist.win32\egg\suds\xsd\schema.py”,第93行
child.open_导入(选项)
文件“build\bdist.win32\egg\suds\xsd\schema.py”,第305行,在open\u导入中
导入=导入打开(选项)
文件“build\bdist.win32\egg\suds\xsd\sxbasic.py”,第542行,打开
结果=self.download(选项)
下载文件“build\bdist.win32\egg\suds\xsd\sxbasic.py”,第567行
引发异常(msg)
例外:导入的架构(http://www.w3.org/2005/05/xmlmime)在(http://www.w3.org/2005/05/xmlmime),失败
>>> 
*********************************************************
我查了一下肥皂水文档,收集不到太多——也许我忽略了什么。
非常感谢您的输入,谢谢。

我注意到,在您指向的文档中,代理被指定为:

{http:'host:port'} {http:'host:port'} 不是

{http:'http://host:port'}
可能是这样吗?

无法解决此问题。不过,目前找到了一份工作。使用SOAP请求模板通过http POST发送请求。为什么不发布“testSoap.py”或“smWSDL.py”?问题可能在于代码中的某个地方“没有定义名称‘x’”。 {http:'host:port'} {http:'http://host:port'}