2012-01-24 56 views
2

Python新手。 嘗試使用Python構建一個簡單的soap客戶端。 相同的程序在不涉及代理的環境中工作。suds腳本失敗,出現異常異常:導入的模式失敗,可能未找到處理程序「suds.xsd.sxbasic」

***********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,不可能收集了 - 也許我忽視的東西。 真的很感謝您的意見,謝謝。

+0

尚未解決此問題。儘管目前找到了解決辦法。使用SOAP請求模板通過http POST發送請求。 – ratna

+0

你爲什麼不發佈你的「testSoap.py」或「smWSDL.py」?問題可能是關於「name」x'未定義「的代碼。 – kirpit

回答

1

我注意到,在你點到文檔中,代理與指定:

 
{http:'host:port'} 

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

莫非是嗎?

+0

嘗試過,其他人也是 - 錯誤依然存在。 – ratna

相關問題