HTTPI इस्तेमाल करने वाले Savon क्लाइंट में प्रॉक्सी क्लाइंट के विकल्पों का हिस्सा होता है। यह दूरस्थ WSDL लाते समय और SOAP अनुरोध भेजते समय लागू होता है।

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

उदाहरण HTTPI ट्रांसपोर्ट मान लेता है। परिवेश के ज़रिये स्वीकृत प्रॉक्सी URL दें। ऐसी सार्वजनिक SOAP जाँच के लिए जो बिना प्रमाणीकरण वाले HTTP मध्यस्थ की अनुमति देती है, HTTP प्रॉक्सी सूची का कोई उम्मीदवार वह URL दे सकता है; सेवा और प्रॉक्सी के प्रमाणीकरण के निर्णय अलग रखें। अगर समर्थित प्रमाणीकरण विधि URL में मौजूद क्रेडेंशियल इस्तेमाल करती है, तो उन क्रेडेंशियल में आरक्षित अक्षरों को एन्कोड करें और बनी हुई URL को लॉग से बाहर रखें।

Savon इन्हें “वैश्विक विकल्प” कहता है, पर ये एक क्लाइंट इंस्टेंस तक सीमित होते हैं। कहीं और बनाया गया दूसरा क्लाइंट प्रॉक्सी अपने आप नहीं पाता।

स्निपेट दोबारा इस्तेमाल करने से पहले इंस्टॉल किया गया ट्रांसपोर्ट जाँचें। Savon का मौजूदा दस्तावेज़ इन विकल्पों को HTTPI को सौंपता है; इसके Faraday ट्रांसपोर्ट का client.faraday के ज़रिये अपना सेटअप इंटरफ़ेस है और वह इन HTTPI-विशिष्ट विकल्पों को अस्वीकार करता है। दोनों इंटरफ़ेस मिलाने के बजाय चुना गया ट्रांसपोर्ट कॉन्फ़िगर करें।

प्रॉक्सी खाते को SOAP सेवा के क्रेडेंशियल और WS-Security मानों से अलग रखें। प्रॉक्सी का 407, सेवा की HTTP लॉगिन चुनौती और SOAP फ़ॉल्ट अलग-अलग आदान-प्रदान दर्शाते हैं। क्लाइंट के कोई भी एप्लिकेशन क्रिया करने से पहले WSDL प्राप्ति विफल हो सकती है।

संबंधित लेख