IBM Java SDK: proxy's configureren voor IAM- en serviceaanroepen
Stel de proxy van de IAM-authenticator en de HttpConfigOptions van de service in voordat een van beide verzoeken gaat versturen.
Stel beide routes tijdens de initialisatie in, met de IAM-authenticator die daadwerkelijk aan de service is gegeven:
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);Hier zijn authenticator en service de bestaande objecten van de applicatie. Pas de instellingen toe voordat het ophalen van tokens of serviceverzoeken begint, met normale certificaatverificatie ingeschakeld. Waar de applicatie voor beide bestemmingen een openbaar HTTP-eindpunt mag gebruiken, staan kandidaatadressen in de HTTP-proxylijst.
De twee toewijzingen dekken verschillende verzoeken. authenticator.setProxy dekt het IAM-tokenpad; service.configureClient past de proxy toe op het servicetransport. Het ene configureren legt de route van het andere niet vast.
Bepaal bij een fout de host die in het mislukte verzoek wordt genoemd. Een geslaagde tokenophaling beperkt het probleem tot het servicepad; het bewijst niet dat dat pad zijn proxyopties heeft ontvangen.
HttpConfigOptions komt uit IBM Java SDK Core. Gebruik bij het aanpassen van een oud ConversationService-voorbeeld het Core-pakket en de door de applicatie gekozen servicegeneratie in plaats van een oudere dienstspecifieke netwerkklasse te kopiëren.