Configuración de un cliente de servicios web para acceder a los recursos con un proxy web
Puede configurar un cliente de servicios web para acceder a los recursos mediante un servidor proxy web
Acerca de esta tarea
- Configure las propiedades con el panel de propiedades personalizadas de la máquina virtual Java™ (JVM) de la consola administrativa.
- Configure las propiedades con la herramienta de línea de mandatos wsadmin.
- Configure las propiedades con una herramienta de ensamblaje.
- Configure las propiedades mediante programa utilizando el modelo de programación de aplicaciones
Si desea configurar mediante programación las propiedades utilizando el modelo de programación JAX-RPC (API de Java para RPC basado en XML) o el modelo de programación JAX-WS (API de Java para servicios web XML), revise las especificaciones JAX-RPC o JAX-WS.
Para obtener una lista completa de los estándares y las especificaciones a los que se da soporte, consulte las especificaciones y la documentación de la API de los servicios Web.
- valores especificados mediante programa en el objeto Call
- valores definidos en los descriptores de despliegue de cada atributo portQNameBinding con una herramienta de ensamblaje
- valores definidos como propiedades del sistema de JVM
Para los servicios web JAX-WS (API de Java para servicios web XML), los valores del transporte HTTP especificados en las definiciones de conjuntos de políticas tienen precedencia sobre los valores definidos mediante programa. Posteriormente, los valores del transporte HTTP definidos mediante programa tienen precedencia sobre los valores definidos como propiedades del sistema de JVM. Para aplicaciones JAX-WS, los descriptores de despliegue no están soportados. Utilice las anotaciones para especificar la información de despliegue.
Procedimiento
Resultados
Ha configurado el cliente de servicios web para utilizar un servidor proxy web para acceder a los recursos.
Puede establecer de modo opcional la propiedad http.nonProxyHosts para especificar los nombres de host de máquinas a las que no se enviarán las solicitudes mediante el servidor proxy. Cualquier solicitud invocada mediante la aplicación cliente que se envíe a un host cuyo nombre esté contenido en esta propiedad no pasará por el servidor proxy. Esta propiedad se aplica para las conexiones HTTP y HTTPS. Para obtener más información sobre la propiedad http.nonProxyHosts y otras propiedades HTTP que puede configurar, consulte sobre propiedades personalizadas de transporte HTTP para aplicaciones de servicios web.
Ejemplo
import com.ibm.wsspi.webservices.Constants
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(Constants.HTTP_PROXYHOST_PROPERTY, "proxyHost1.ibm.com");
((javax.xml.rpc.Stub) sq)._setProperty(Constants.HTTP_PROXYPORT_PROPERTY, "80");
//Set the https.proxyHost as a property on the RequestContext.
BindingProvider bp = (Binding Provider)port;
bp.getRequestContext().put("https.proxyHost", "proxyHost1.ibm.com");
bp.getRequestContext().put("https.proxyPort", "80");