1
我對SOAP很陌生,只是試圖獲得使用「泡沫」的基礎知識。我運行下面的代碼:無法獲取泡沫來讀取我的負載均衡器的SOAP API
import sys
from suds.client import Client
url='http://loadbalancer/wsdl/sys_service.wsdl'
client = Client(url)
如果我在解釋器中運行「打印客戶端」,我得到如下:
Suds (https://fedorahosted.org/suds/) version: 0.4.1 (beta) build: R705-20101207
Service (AdcSysInfo) tns="urn:webservicesapi"
Prefixes (1)
ns0 = "urn:webservicesapi"
Ports (1):
(AdcSysInfoSOAP)
Methods (61):
....
(many methods come back, truncated the output)
getCPU()
....
我只想專注於getCPU方法現在,所以我在解釋器中運行該語句:
example = client.service.getCPU()
但我得到以下輸出回:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/usr/lib/python2.6/site-packages/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/usr/lib/python2.6/site-packages/suds/client.py", line 643, in send
reply = transport.send(request)
File "/usr/lib/python2.6/site-packages/suds/transport/https.py", line 64, in send
return HttpTransport.send(self, request)
File "/usr/lib/python2.6/site-packages/suds/transport/http.py", line 77, in send
fp = self.u2open(u2request)
File "/usr/lib/python2.6/site-packages/suds/transport/http.py", line 118, in u2open
return url.open(u2request, timeout=tm)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 414, in _open
'unknown_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1223, in unknown_open
raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: urlprefix>
任何想法我做錯了什麼?謝謝。
難道你需要一個https url來使用這個服務嗎? – pwray 2014-09-05 06:56:41