IBM Java SDK: IAM और सेवा कॉल के लिए प्रॉक्सी कॉन्फ़िगर करें
IAM प्रमाणक की प्रॉक्सी और सेवा के HttpConfigOptions को उससे पहले सेट करें, इससे पहले कोई भी अनुरोध भेजना शुरू करे।
दोनों मार्गों को इनिशियलाइज़ेशन के दौरान ही सेट करें, और वही IAM प्रमाणक उपयोग करें जो वास्तव में सेवा को दिया गया है:
import java.net.InetSocketAddress;
import java.net.Proxy;
import com.ibm.cloud.sdk.core.http.HttpConfigOptions;
var proxy = new Proxy(
Proxy.Type.HTTP,
new InetSocketAddress("proxy.example.net", 8080));
authenticator.setProxy(proxy);
var options = new HttpConfigOptions.Builder()
.proxy(proxy)
.build();
service.configureClient(options);यहाँ authenticator और service एप्लिकेशन की मौजूदा ऑब्जेक्ट हैं। टोकन प्राप्ति या सेवा अनुरोध शुरू होने से पहले सेटिंग लागू करें, सामान्य प्रमाणपत्र सत्यापन सक्रिय रखते हुए। जहाँ एप्लिकेशन दोनों गंतव्यों के लिए सार्वजनिक HTTP एंडपॉइंट का उपयोग कर सकता है, वहाँ उम्मीदवार पते HTTP प्रॉक्सी सूची में उपलब्ध हैं।
दोनों असाइनमेंट अलग-अलग अनुरोधों को कवर करते हैं। authenticator.setProxy IAM टोकन मार्ग को कवर करता है; service.configureClient प्रॉक्सी को सेवा परिवहन पर लागू करता है। एक को कॉन्फ़िगर करने से दूसरे का मार्ग स्थापित नहीं होता।
विफलता पर, विफल अनुरोध में नामित होस्ट की पहचान करें। सफल टोकन प्राप्ति समस्या को सेवा मार्ग तक सीमित करती है; पर यह सिद्ध नहीं करती कि उस मार्ग को उसके प्रॉक्सी विकल्प मिले हैं।
HttpConfigOptions IBM Java SDK Core से आता है। पुराने ConversationService उदाहरण को अनुकूलित करते समय, पुरानी सेवा-विशिष्ट नेटवर्किंग क्लास की प्रतिलिपि बनाने के बजाय एप्लिकेशन द्वारा चुने गए Core पैकेज और सेवा जनरेशन का उपयोग करें।