2013年11月5日 星期二

[Python][suds][errno 111] 如果你用Python suds library 遇見了 errno111 的問題請進/If you using python suds library and error happen which errno is 111 , please come in

作業系統 /operating system: Fedora 17
Python :2.6

直接看code 這個問題困擾我很久,今天終於解決了!


PROBLEM CODE: 

#python code start #
from suds.client import Client

url = 'someurl?wsdl'
client = Client(url,cache=None)
print  client.service.yourfunction();


然後就會發生下面這個錯誤/ And some error cause



  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/client.py", line 542, in __call__
  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/client.py", line 602, in invoke
  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/client.py", line 637, in send
  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/transport/https.py", line 64, in send
  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/transport/http.py", line 77, in send
  File "/usr/lib/python2.6/site-packages/suds-0.4-py2.6.egg/suds/transport/http.py", line 118, in u2open
  File "/usr/lib64/python2.6/urllib2.py", line 383, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.6/urllib2.py", line 401, in _open
    '_open', req)
  File "/usr/lib64/python2.6/urllib2.py", line 361, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 1130, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib64/python2.6/urllib2.py", line 1105, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>





經過許多種方法之後終於發現了可以運行的code

SUCCESS CODE :

#python code start #
from suds.client import Client

url = 'someurl?wsdl'
client = Client(url,cache=None)
client.set_options(location=url)
print  client.service.yourfunction();





如果你因為這個方法解決你的煩惱請留言讓我知道!!! 謝謝

沒有留言:

張貼留言