Imposta entrambi i percorsi durante l'inizializzazione, con l'autenticatore IAM realmente fornito al servizio:

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

Qui authenticator e service sono gli oggetti esistenti dell'applicazione. Applica le impostazioni prima che inizino il recupero del token o le richieste al servizio, con la normale verifica dei certificati attiva. Dove l'applicazione può usare un endpoint HTTP pubblico per entrambe le destinazioni, gli indirizzi candidati sono nella lista di proxy HTTP.

Le due assegnazioni coprono richieste diverse. authenticator.setProxy copre il percorso del token IAM; service.configureClient applica il proxy al trasporto del servizio. Configurarne una non stabilisce il percorso dell'altra.

In caso di errore, individua l'host indicato nella richiesta fallita. Un recupero riuscito del token restringe il problema al percorso del servizio; non dimostra però che quel percorso abbia ricevuto le sue opzioni proxy.

HttpConfigOptions proviene da IBM Java SDK Core. Quando adatti un vecchio esempio ConversationService, usa il pacchetto Core e la generazione del servizio scelte dall'applicazione invece di copiare una vecchia classe di rete specifica del servizio.

Articoli correlati