IBM Java SDK: configuració de proxys per a IAM i les crides al servei
Definiu el proxy de l'autenticador d'IAM i les HttpConfigOptions del servei abans que cap dels dos comenci a fer peticions.
Definiu les dues rutes durant la inicialització, amb l'autenticador d'IAM que realment s'ha lliurat al servei:
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);Aquí authenticator i service són els objectes existents de l'aplicació. Apliqueu la configuració abans que comencin l'obtenció del testimoni o les peticions al servei, amb la verificació normal de certificats activada. Quan l'aplicació pugui utilitzar un punt final HTTP públic per a totes dues destinacions, hi ha adreces candidates a la llista de proxys HTTP.
Les dues assignacions cobreixen peticions diferents. authenticator.setProxy cobreix la ruta del testimoni d'IAM; service.configureClient aplica el proxy al transport del servei. Configurar-ne una no estableix la ruta de l'altra.
Davant d'un error, identifiqueu l'amfitrió indicat a la petició fallida. Obtenir el testimoni correctament redueix el problema a la ruta del servei; però no demostra que aquesta ruta hagi rebut les seves opcions de proxy.
HttpConfigOptions prové d'IBM Java SDK Core. En adaptar un exemple antic de ConversationService, feu servir el paquet Core i la generació de servei triats per l'aplicació en lloc de copiar una classe de xarxa antiga específica del servei.