IBM Java SDK: Konfigurer proxyer til IAM- og servicekald
Angiv IAM-autentifikatorens proxy og tjenestens HttpConfigOptions, før en af dem begynder at sende anmodninger.
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.