Obě trasy nastavte už při inicializaci, s autentizátorem IAM, který byl službě skutečně předán:

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

Zde authenticator a service jsou stávající objekty aplikace. Nastavení použijte dřív, než začne získávání tokenu nebo požadavky služby, s běžným ověřováním certifikátů zapnutým. Pokud aplikace může pro oba cíle použít veřejný koncový bod HTTP, kandidátské adresy najdete v seznamu proxy HTTP.

Obě přiřazení pokrývají různé požadavky. authenticator.setProxy pokrývá cestu tokenu IAM; service.configureClient aplikuje proxy na transport služby. Konfigurace jednoho nevytvoří trasu druhého.

Při selhání určete hostitele uvedeného v neúspěšném požadavku. Úspěšné získání tokenu zúží problém na cestu služby; nedokazuje však, že tato cesta dostala své volby proxy.

HttpConfigOptions pochází z IBM Java SDK Core. Při úpravě starého příkladu ConversationService použijte balíček Core a generaci služby zvolené aplikací, místo abyste kopírovali starší síťovou třídu specifickou pro službu.

Související články