2014-09-05 4 views
1

저는 SOAP을 처음 접했고 "suds"로 작업하는 기본 사항을 얻으려고합니다. 내가 통역에서 '인쇄 클라이언트'를 실행하면로드 밸런서의 SOAP API를 읽는 데 suds를 사용할 수 없습니다.

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

답변