Robin Wittler wrote:
On 21/12/11 08:29, jo wrote:
> Jurko Gospodnetić wrote:
>
>> Hi.
>>
>>
>>> I'm trying to access to:
>>>
url="https://webservices.IZSLER.it/wsAnagrafeIZSLER/gestioneUO.php?wsdl"
>>> to have the wsdl but it requires an authentication.
>>>
>>> cl = Client(url)
>>> suds.transport.TransportError: HTTP Error 401: Authorization Required
>>>
>>> I tried too:
>>> cl = Client(url, username='us',password='pwd')
>>>
>>> wiyhout success.
>>>
>>> Could someone tell me how to access to this authenticated url to
>>> download the wsdl like lynx do?
>>>
>>> lynx -source -auth=us:pwd
>>>
https://webservices.IZSLER.it/wsAnagrafeIZSLER/gestioneUO.php?wsdl
>>>
>> If you provide some sort of a username and password someone could
>> possibly test this. Also, you did not provide the exact code you tried
>> or say what exactly went wrong when you 'tried without success'.
>>
>> I tried just now and running:
>>
>>> url = "https://webservices.IZSLER.it/wsAnagrafeIZSLERphp?wsdl"
>>> suds.client.Client(url)
>>>
>> raises an expected exception:
>>
>>> suds.transport.TransportError: HTTP Error 401: Authorization Required
>>>
>> while running:
>>
>>> url = "https://webservices.IZSLER.it/wsAnagrafeIZSLERphp?wsdl"
>>> suds.client.Client(url, username="us", password="pwd")
>>>
>> raises an expected exception:
>>
>>> suds.transport.TransportError: HTTP Error 401: basic auth failed
>>>
> the correct url is:
> url = 'https://webservices.IZSLER.it/wsAnagrafeIZSLER/gestioneUO.php?wsdl'
> suds.client.Client(url=url, username="us", password="pwd")
>
> and for me it returns a RuntimeError: maximum recursion depth exceeded
> error when using username and password.
> Even with real username and password (I'm sorry but I can't reveal the
> real credentials because this is a production site).
> mi version is:
>
>>>> suds.__version__
>>>>
> '0.4'
>
>
> File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 409, in
_open
> '_open', req)
> File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 369, in
> _call_chain
> result = func(*args)
> File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 1169, in
> https_open
> return self.do_open(httplib.HTTPSConnection, req)
> File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 1134, in
> do_open
> r = h.getresponse()
> File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 986, in
> getresponse
> response.begin()
> File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 420, in
begin
> self.msg = HTTPMessage(self.fp, 0)
> File "/home/jose/.virtualenv/lib/python2.6/mimetools.py", line 25, in
> __init__
> rfc822.Message.__init__(self, fp, seekable)
> File "/home/jose/.virtualenv/lib/python2.6/rfc822.py", line 108, in
> __init__
> self.readheaders()
> File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 276, in
> readheaders
> line = self.fp.readline()
> File "/home/jose/.virtualenv/lib/python2.6/socket.py", line 397, in
> readline
> data = recv(1)
> File "/home/jose/.virtualenv/lib/python2.6/ssl.py", line 96, in
<lambda>
> self.recv = lambda buflen=1024, flags=0: SSLSocket.recv(self, buflen,
> flags)
> RuntimeError: maximum recursion depth exceeded
>
>
>> since presumably user name "us" and password "pwd" are not
correct.
>>
>> Try to connect to the same URL using urllib. If you can do that -
>> then suds should be able to connect to it as well (since it uses
>> urllib under the hood).
>>
>> Hope this helps.
>>
>> Best regards,
>> Jurko Gospodnetić
>> _______________________________________________
>> suds mailing list
>> suds(a)lists.fedoraproject.org
>>
https://admin.fedoraproject.org/mailman/listinfo/suds
>>
>
Well, with your given url (and fake username and password) i am getting
a "TransportError: HTTP Error 401: basic auth failed".
So i assume that the transport layer works correctly.
I have tested this with suds version 0.3.9 + 0.4 + 0.4.1.
Unless you provide someone with the real credentials - there is nothing
more to say.
Hey, perhaps you can change the credentials for a "public" test (you
pick someone from the list, change the credentials for this person and
this person can try it, after that - just change the credentials back).
cheers,
robin
_______________________________________________
suds mailing list
suds(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/suds The problem here is not the
credentials, Robin.
I don't know why you have a different response from me, even using the
fake credentials.
The following two rows :
from suds.client import Client
Client(url='https://webservices.IZSLER.it/wsAnagrafeIZSLER/gestioneUO.php?wsdl',
username="us", password="pwd")
don't giveme a 401 error but this result instead:
Traceback (most recent call last):
File "o", line 2, in <module>
Client(url='https://webservices.IZSLER.it/wsAnagrafeIZSLER/gestioneUO.php?wsdl',
username="us", password="pwd")
File "build/bdist.linux-x86_64/egg/suds/client.py", line 112, in __init__
File "build/bdist.linux-x86_64/egg/suds/reader.py", line 152, in open
File "build/bdist.linux-x86_64/egg/suds/wsdl.py", line 136, in __init__
File "build/bdist.linux-x86_64/egg/suds/reader.py", line 79, in open
File "build/bdist.linux-x86_64/egg/suds/reader.py", line 95, in download
File "build/bdist.linux-x86_64/egg/suds/transport/https.py", line 60, in
open
File "build/bdist.linux-x86_64/egg/suds/transport/http.py", line 62, in
open
File "build/bdist.linux-x86_64/egg/suds/transport/http.py", line 118, in
u2open
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 397, in open
response = meth(req, response)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 510, in
http_response
'http', request, response, code, msg, hdrs)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 429, in error
result = self._call_chain(*args)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 369, in
_call_chain
result = func(*args)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 855, in
http_error_401
url, req, headers)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 833, in
http_error_auth_reqed
return self.retry_http_basic_auth(host, req, realm)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 843, in
retry_http_basic_auth
return self.parent.open(req, timeout=req.timeout)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 397, in open
response = meth(req, response)
--------------------------------------------------------------------------------
LOOP 107 TIMES ------------------------
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 510, in
http_response
'http', request, response, code, msg, hdrs)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 429, in error
result = self._call_chain(*args)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 369, in
_call_chain
result = func(*args)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 855, in
http_error_401
url, req, headers)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 833, in
http_error_auth_reqed
return self.retry_http_basic_auth(host, req, realm)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 843, in
retry_http_basic_auth
return self.parent.open(req, timeout=req.timeout)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 369, in
_call_chain
result = func(*args)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 1169, in
https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/home/jose/.virtualenv/lib/python2.6/urllib2.py", line 1134, in
do_open
r = h.getresponse()
File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 986, in
getresponse
response.begin()
File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 420, in begin
self.msg = HTTPMessage(self.fp, 0)
File "/home/jose/.virtualenv/lib/python2.6/mimetools.py", line 25, in
__init__
rfc822.Message.__init__(self, fp, seekable)
File "/home/jose/.virtualenv/lib/python2.6/rfc822.py", line 108, in __init__
self.readheaders()
File "/home/jose/.virtualenv/lib/python2.6/httplib.py", line 276, in
readheaders
line = self.fp.readline()
File "/home/jose/.virtualenv/lib/python2.6/socket.py", line 397, in readline
data = recv(1)
File "/home/jose/.virtualenv/lib/python2.6/ssl.py", line 96, in <lambda>
self.recv = lambda buflen=1024, flags=0: SSLSocket.recv(self, buflen, flags)
RuntimeError: maximum recursion depth exceeded