ตั้งค่าทั้งสองเส้นทางระหว่างการเริ่มต้น โดยใช้ตัวรับรองความถูกต้อง 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 และรุ่นของบริการที่แอปพลิเคชันเลือก แทนการคัดลอกคลาสเครือข่ายเฉพาะบริการรุ่นเก่า

บทความที่เกี่ยวข้อง