Python Suds URLError Имя или служба не известна проблема - PullRequest
3 голосов
/ 21 февраля 2012

Возникла странная проблема, когда я мог успешно создать клиент suds и распечатать его:

>>> client = Client(the_wsdl_url)
>>> print client

Suds ( https://fedorahosted.org/suds/ )  version: 0.4.1 (beta)  build: R703-20101015

Service ( wsEnrollmentData ) tns="http://*hidden*"
   Prefixes (1)
      ns0 = "*hidden*"
   Ports (1):
      (*hidden*)
         Methods (1):
            handleIncomingEnrollment(xs:string FIRST_NM, xs:string MIDDLE_NM, xs:string COMPANY_LAST_NM, xs:string CONTACT_FIRST_NM, xs:string CONTACT_LAST_NM, xs:string INV_ADDR_TX_1, xs:string INV_ADDR_TX_2, xs:string INV_CITY_TX, xs:string INV_STATE_TX, xs:string INV_POSTAL_CD_TX, xs:string PHONE_NO, xs:string EMAIL_ADDRESS, xs:string QUOTED_PRICE_AMT, xs:string PRICE_TYPE, xs:string CONTRACT_SIGNED_DT, xs:string TERMS_ACCEPTED_FLAG, xs:string CONFIRMATION_NO, xs:string VENDOR_DB_NO, xs:string ENROLLMENT_ACCOUNT_ID, xs:string SERV_ADDR_TX_1, xs:string SERV_ADDR_TX_2, xs:string SERV_CITY_TX, xs:string SERV_STATE_TX, xs:string SERV_POSTAL_CD_TX, xs:string UTILITY_CODE, xs:string LDC_VENDOR_DB_NO, xs:string LDC_ACCT_CUST_NO, xs:string RATE_CODE, )
         Types (2):
            handleIncomingEnrollment
            handleIncomingEnrollmentResponse

Но когда я вызываю метод handleIncomingEnrollment, я получаю сообщение об ошибке URL:

>>> client.service.handleIncomingEnrollment
<suds.client.Method instance at 0x3c29368>
>>> client.service.handleIncomingEnrollment.method.name
handleIncomingEnrollment
>>> client.service.handleIncomingEnrollment()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/lib/pymodules/python2.7/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/pymodules/python2.7/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/usr/lib/pymodules/python2.7/suds/client.py", line 641, in send
    reply = transport.send(request)
  File "/usr/lib/pymodules/python2.7/suds/transport/https.py", line 64, in send
    return  HttpTransport.send(self, request)
  File "/usr/lib/pymodules/python2.7/suds/transport/http.py", line 77, in send
    fp = self.u2open(u2request)
  File "/usr/lib/pymodules/python2.7/suds/transport/http.py", line 118, in u2open
    return url.open(u2request, timeout=tm)
  File "/usr/lib/python2.7/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1193, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1160, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno -2] Name or service not known>

Почему я получаю это сообщение "Имя или услуга неизвестна"? (Я получаю ту же ошибку даже при передаче аргументов методу).

...