Ställ in båda vägarna under initieringen, med den IAM-autentiserare som faktiskt tilldelats tjänsten:

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

Här är authenticator och service applikationens befintliga objekt. Tillämpa inställningarna innan tokenhämtningen eller tjänsteförfrågningarna börjar, med normal certifikatverifiering aktiverad. Om applikationen kan använda en publik HTTP-slutpunkt för båda målen finns kandidatadresser i HTTP-proxylistan.

De två tilldelningarna täcker olika förfrågningar. authenticator.setProxy täcker IAM-tokenvägen; service.configureClient tillämpar proxyn på tjänstens transport. Att konfigurera den ena etablerar inte den andras väg.

Vid ett fel, identifiera värden som anges i den misslyckade förfrågan. Lyckad tokenhämtning begränsar problemet till tjänstevägen; det bevisar inte att den vägen fick sina proxyalternativ.

HttpConfigOptions kommer från IBM Java SDK Core. När du anpassar ett gammalt ConversationService-exempel ska du använda det Core-paket och den tjänstgeneration som applikationen valt i stället för att kopiera en äldre tjänstespecifik nätverksklass.

Relaterade artiklar