Angiv begge ruter under initialiseringen med den IAM-autentifikator, der faktisk blev givet til tjenesten:

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

Her er authenticator og service applikationens eksisterende objekter. Anvend indstillingerne, før tokenhentning eller tjenestekald begynder, med normal certifikatvalidering aktiveret. Hvor applikationen kan bruge et offentligt HTTP-endpoint til begge destinationer, findes kandidatadresser i HTTP-proxylisten.

De to tildelinger dækker forskellige anmodninger. authenticator.setProxy dækker IAM-tokenruten; service.configureClient anvender proxyen på tjenestetransporten. Konfiguration af den ene etablerer ikke den andens rute.

Ved en fejl skal du identificere den vært, der er nævnt i den mislykkede anmodning. En vellykket tokenhentning indsnævrer problemet til tjenesteruten; det beviser ikke, at ruten modtog sine proxyindstillinger.

HttpConfigOptions kommer fra IBM Java SDK Core. Når du tilpasser et gammelt ConversationService-eksempel, skal du bruge Core-pakken og den tjenestegeneration, applikationen har valgt, i stedet for at kopiere en ældre tjenestespecifik netværksklasse.

Relaterede artikler