Ustaw obie trasy podczas inicjalizacji, używając mechanizmu uwierzytelniania IAM faktycznie przekazanego usłudze:

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);

Tutaj authenticator i service to istniejące obiekty aplikacji. Zastosuj ustawienia, zanim rozpocznie się pobieranie tokenu lub żądania usługi, przy włączonej zwykłej weryfikacji certyfikatów. Jeśli aplikacja może używać publicznego punktu końcowego HTTP dla obu miejsc docelowych, adresy kandydujące są dostępne na liście serwerów proxy HTTP.

Dwa przypisania dotyczą różnych żądań. authenticator.setProxy obejmuje ścieżkę tokenu IAM; service.configureClient stosuje serwer proxy do transportu usługi. Skonfigurowanie jednego nie tworzy trasy drugiego.

W razie błędu ustal hosta wymienionego w nieudanym żądaniu. Skuteczne pobranie tokenu zawęża problem do ścieżki usługi; nie dowodzi jednak, że ścieżka ta otrzymała swoje opcje proxy.

HttpConfigOptions pochodzi z IBM Java SDK Core. Dostosowując stary przykład ConversationService, użyj pakietu Core i generacji usługi wybranej przez aplikację, zamiast kopiować starą klasę sieciową specyficzną dla usługi.

Powiązane artykuły