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

Подобни статии