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,不可能收集了 - 也許我忽視的東西。 真的很感謝您的意見,謝謝。
尚未解決此問題。儘管目前找到了解決辦法。使用SOAP請求模板通過http POST發送請求。 – ratna
你爲什麼不發佈你的「testSoap.py」或「smWSDL.py」?問題可能是關於「name」x'未定義「的代碼。 – kirpit