IBM Java SDK: Proxys für IAM- und Dienstaufrufe konfigurieren
Legen Sie den Proxy des IAM-Authentifizierers und die HttpConfigOptions des Dienstes fest, bevor einer von beiden Anforderungen sendet.
Legen Sie beide Wege während der Initialisierung fest, und zwar mit dem IAM-Authentifizierer, der dem Dienst tatsächlich übergeben wurde:
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 sind authenticator und service die vorhandenen Objekte der Anwendung. Wenden Sie die Einstellungen an, bevor der Token-Abruf oder Dienstanforderungen beginnen, bei aktivierter normaler Zertifikatsprüfung. Wo die Anwendung für beide Ziele einen öffentlichen HTTP-Endpunkt nutzen darf, stehen geeignete Adressen in der HTTP-Proxy-Liste.
Die beiden Zuweisungen betreffen unterschiedliche Anforderungen. authenticator.setProxy deckt den IAM-Tokenpfad ab; service.configureClient wendet den Proxy auf den Diensttransport an. Die Konfiguration des einen legt den Weg des anderen nicht fest.
Bestimmen Sie bei einem Fehler den Host, der in der fehlgeschlagenen Anforderung genannt wird. Ein erfolgreicher Token-Abruf grenzt das Problem auf den Dienstpfad ein; er belegt jedoch nicht, dass dieser Pfad seine Proxy-Optionen erhalten hat.
HttpConfigOptions stammt aus IBM Java SDK Core. Wenn Sie ein altes ConversationService-Beispiel anpassen, verwenden Sie das Core-Paket und die von der Anwendung gewählte Dienstgeneration, statt eine ältere dienstspezifische Netzwerkklasse zu kopieren.