/ / क्या रूबी HTTPI लाइब्रेरी को रीडायरेक्ट करने के लिए कॉन्फ़िगर किया जा सकता है? - माणिक, सैवोन, इंजी

क्या रूबी HTTPI लाइब्रेरी को रीडायरेक्ट का पालन करने के लिए कॉन्फ़िगर किया जा सकता है? - रूबी, savon, httpi

मैं इसका उपयोग कर रहा हूँ Savon पुस्तकालय जो बदले में उपयोग करता है HTTPI, परंतु HTTPI केवल HTTP स्थिति कोड 200..299 को सफल मानता है। दुर्भाग्य से, SOAP सर्वर मैं उपयोग करने के लिए कनेक्ट कर रहा हूं HTTP 302 मिला अपने ग्राहकों को अन्य URL पर पुनर्निर्देशित करना। क्या कोई तरीका है जिससे मैं कॉन्फ़िगर कर सकता हूं HTTPI HTTP रीडायरेक्ट का पालन करने के लिए?

उत्तर:

उत्तर № 1 के लिए 1

वासाबी कोड पढ़ना मुझे मिला यह रेखा, जो कॉल करता है यह रेखा, जो कॉल करता है यह रेखा, इसलिए मुझे लगता है कि आप एक क्रूर लेकिन प्रभावी निरंतर पुनर्निर्धारण के साथ हल कर सकते हैं:

HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302

आप लगातार पुनर्परिभाषित चेतावनी को अनदेखा कर सकते हैं (आप उपयोग कर सकते हैं Kernel.silence_warnings{ ... })।

वैसे भी, मैं आपको एक मुद्दे को खोलने के लिए सुझाव देता हूं httpi; मुझे लगता है कि यह अपेक्षित व्यवहार होना चाहिए


जवाब के लिए 2 № 2

अनुरोध ऑब्जेक्ट पर "follow_redirect = true" का उपयोग करने का प्रयास करें।

    request = HTTPI::Request.new
request.follow_redirect= true
...

बस यह वही मुद्दा था।


जवाब के लिए 0 № 3

किसी के लिए भी, जैसा कि मैंने Google खोज से किया है। Savon 2.11 क्लाइंट पर वैश्विक कॉन्फ़िगरेशन मान के साथ इसका समर्थन करता है:

follow_redirects: true