के साथ HTTP प्रमाणीकरण से अजीब व्यवहार मेरे पास एक काम कर रहे पायथन प्रोग्राम है जो एसओएपी के माध्यम से एसयूएपी के माध्यम से बड़ी मात्रा में डेटा ला रहा है। वेब सेवा एक पेजिंग समारोह के साथ लागू किया जाता है ताकि मैं NNN पंक्तियों प्राप्त कर सकते हैं के साथ प्रत्येक लाने फोन और बाद में कॉल के साथ अगले NNN हड़पने। यदि मैं निम्नलिखितसूड एसओएपी लाइब्रेरी
client = suds.client.Client(url=url, location=location, username=username, password=password, timeout=timeout)
जैसे कोड के साथ HTTP सर्वर को प्रमाणीकृत करता हूं तो सबकुछ बढ़िया काम करता है। यदि, हालांकि, मैं निम्नलिखित
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 पंक्तियों की एक fetch सीमा निर्दिष्ट करता हूं, तो मुझे 60 पंक्तियां मिलती हैं। सातवें fetch पर, मुझे
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'
क्या किसी के पास कोई सुझाव है कि इसका क्या कारण हो सकता है। यह निश्चित रूप से यह परिवर्तन है जो समस्या पैदा कर रहा है। मैं प्रमाणीकरण शैलियों को आगे और पीछे स्वैप कर सकता हूं और यह पूरी तरह से पुन: उत्पन्न होता है।
मैं सूड 0.4 के साथ पायथन 2.6.6 चला रहा हूं।
धन्यवाद
इस के साथ किसी भी प्रगति: इससे पहले कि आप अपने
suds.Client
का निर्माण, तो देखने के लिए क्या HTTP त्रुटि 7 लाने उठाता इसे चलाने ये पंक्तियां जोड़ें? अगर मैं कन्स्ट्रक्टर को गलत प्रमाणीकरण डेटा पास करता हूं, तो मुझे अपवाद के बजाय एक ही त्रुटि मिलती है। अगर मैं suds क्लाइंट कन्स्ट्रक्टर को कनेक्ट करने और पास करने के लिए Http प्रमाणीकृत का उपयोग करता हूं, तो प्रमाणीकरण डेटा मान्य होने पर भी मुझे हमेशा 403 खराब अनुरोध (अमान्य प्रमाणीकरण) मिलता है। –