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 і покоління сервісу, вибрані застосунком, а не копіюйте старіший клас мережі, специфічний для сервісу.