Configurando um Cliente de Serviços da Web para Acessar Recursos Usando um Proxy da Web
É possível configurar um cliente de serviços da Web para acessar recursos por meio de um servidor proxy da Web.
Sobre Esta Tarefa
- Configure as propriedades utilizando o painel de propriedade customizada da JVM (Java™ Virtual Machine) no console administrativo.
- Configure as propriedades utilizando a ferramenta de linha de comandos wsadmin.
- Configure as propriedades com uma ferramenta de montagem.
- Configure as propriedades programaticamente utilizando o modelo de programação de aplicativo.
Para configurar programaticamente as propriedades utilizando o modelo de programação JAX-RPC (Java API XML-based Remote Procedure Call) ou o modelo de programação JAX-WS (Java API for XML Web Services), revise as especificações JAX-RPC ou JAX-WS.
Para obter uma lista completa de padrões e especificações suportados, consulte as especificações de serviços da Web e a documentação da API.
- valores especificados programaticamente no objeto de Chamada
- valores definidos nos descritores de implementação em cada atributo portQNameBinding utilizando uma ferramenta de montagem
- valores definidos como propriedades de sistemas JVM
Para serviços da Web Java API for XML Web Services (JAX-WS), os valores de transporte HTTP que você especifica nas suas definições do conjunto de políticas têm precedência sobre os valores definidos programaticamente. Subsequentemente, os valores de transporte HTTP que você define programaticamente têm precedência sobre os valores definidos como propriedades do sistema JVM. Para aplicativos JAX-WS, descritores de implementação não são suportados. Utilize anotações para especificar informações de implementação.
Procedimento
Resultados
Você configurou o seu cliente de serviços da Web para usar um servidor proxy da Web para acessar recursos.
Como opção, você pode definir a propriedade http.nonProxyHosts para especificar os nomes de host das máquinas às quais pedidos não serão enviados por meio do servidor proxy. Nenhum pedido chamado pelo aplicativo cliente que for enviado a um host cujo nome esteja contido nessa propriedade passará pelo servidor proxy. Essa propriedade se aplica a conexões HTTP e HTTPS. Para saber mais sobre a propriedade http.nonProxyHosts e outras propriedades HTTP que você pode configurar, leia sobre as propriedades customizadas de transporte HTTP para aplicativos de serviços da Web.
Exemplo
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");
//Configure https.proxyHost como uma propriedade em RequestContext.
BindingProvider bp = (Binding Provider)port;
bp.getRequestContext().put("https.proxyHost", "proxyHost1.ibm.com");
bp.getRequestContext().put("https.proxyPort", "80");