У меня есть работающая программа на Python, которая извлекает большой объем данных через SOAP с использованием suds. Веб-сервис реализован с функцией подкачки, так что я могу захватывать nnn строк при каждом вызове выборки и получать следующие nnn с последующими вызовами. Если я аутентифицируюсь на сервере HTTP с кодом, подобным следующему
client = suds.client.Client(url=url, location=location, username=username, password=password, timeout=timeout)
все отлично работает. Если, однако, я использую следующее
t = suds.transport.https.HttpAuthenticated(username=username, password=password)
t.handler = urllib2.HTTPBasicAuthHandler(t.pm)
t.urlopener = urllib2.build_opener(t.handler)
client = suds.client.Client(url=url, location=location, timeout=timeout, transport=t)
это работает ровно за 6 итераций. То есть, если я укажу ограничение выборки в 10 строк на выборку, я получу обратно 60 строк. На седьмом выручке я получаю
File "build/bdist.linux-i686/egg/suds/client.py", line 542, in __call__
File "build/bdist.linux-i686/egg/suds/client.py", line 602, in invoke
File "build/bdist.linux-i686/egg/suds/client.py", line 649, in send
File "build/bdist.linux-i686/egg/suds/client.py", line 698, in failed
AttributeError: 'NoneType' object has no attribute 'read'
Есть ли у кого-нибудь предложения относительно того, что может быть причиной этого. Именно это изменение вызывает проблему. Я могу менять стили аутентификации взад-вперед, и это полностью воспроизводимо.
Я использую Python 2.6.6 с suds 0.4.
Спасибо