IBM Java SDK: Konfigurera proxyservrar för IAM och tjänstanrop
Ställ in IAM-autentiserarens proxy och tjänstens HttpConfigOptions innan någon av dem börjar skicka förfrågningar.
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.