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 दिनुहोस्। प्रमाणीकरण नभएको HTTP मध्यस्थलाई अनुमति दिने सार्वजनिक SOAP परीक्षणका लागि HTTP प्रोक्सी सूचीको कुनै उम्मेदवारले त्यो URL दिन सक्छ; सेवा र प्रोक्सीको प्रमाणीकरणका निर्णयहरू अलग राख्नुहोस्। यदि समर्थित प्रमाणीकरण विधिले URL भित्रका प्रमाणहरू प्रयोग गर्छ भने ती प्रमाणहरूमा आरक्षित अक्षरहरू इन्कोड गर्नुहोस् र बनेको URL लगबाट बाहिर राख्नुहोस्।

Savon ले यिनलाई “वैश्विक विकल्प” भन्छ, तर यी एउटै क्लाइन्ट इन्स्ट्यान्सका लागि मात्र हुन्। अन्तै बनाइएको अर्को क्लाइन्टले प्रोक्सी स्वतः पाउँदैन।

स्निपेट फेरि प्रयोग गर्नुअघि स्थापित ट्रान्सपोर्ट जाँच्नुहोस्। Savon को हालको कागजातले यी विकल्पहरू HTTPI लाई तोक्छ; यसको Faraday ट्रान्सपोर्टको client.faraday मार्फत आफ्नै सेटअप इन्टरफेस छ र यी HTTPI-विशिष्ट विकल्पहरू अस्वीकार गर्छ। दुई इन्टरफेस नमिसाई छानिएको ट्रान्सपोर्ट कन्फिगर गर्नुहोस्।

प्रोक्सी खाता SOAP सेवाका प्रमाण र WS-Security मानहरूबाट अलग राख्नुहोस्। प्रोक्सीको 407, सेवाको HTTP लगइन चुनौती र SOAP त्रुटिले फरक आदानप्रदान जनाउँछन्। क्लाइन्टले कुनै पनि अनुप्रयोग कार्य नगर्दै WSDL प्राप्ति असफल हुन सक्छ।

सम्बन्धित लेखहरू