Skip to main content
 首页 » 编程设计

python之suds 脚本失败,出现异常异常 : imported schema failed, 找不到记录器 "suds.xsd.sxbasic"的处理程序

2025年05月04日23qlqwjy

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 
>>>  


**********Version2********* 
from suds.client import Client 
from suds import WebFault 
url = 'http://Server:13080/SM/7/ServiceDesk.wsdl' 
userid = 'falcon' 
passwd = '' 
d = dict(http='http://xxx.xxx.xxx.xxx:xx') 
client = Client(url, proxy=d) 
print client 
>>>  
No handlers could be found for logger "suds.xsd.sxbasic" 
Traceback (most recent call last): 
File "C:\localdisk\Python\smWSDL.py", line 24, in <module> 
client = Client(url, proxy=d) 
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 
>>>  
********************************************************* 

我已经检查了 SUDS 文档 @ https://fedorahosted.org/suds/wiki/Documentation ,不能收集太多 - 也许我忽略了一些东西。 非常感谢您的意见,谢谢。

请您参考如下方法:

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

{http:'host:port'} 

不是

{http:'http://host:port'} 

难道是这样吗?