2014-09-05 27 views
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> 

任何想法我做錯了什麼?謝謝。

+0

難道你需要一個https url來使用這個服務嗎? – pwray 2014-09-05 06:56:41

回答