Cliente de Web Service CXF a través de proxy
Si hacemos un cliente de Web Service usando CXF, puede suceder que tengamos que salir a través de un proxy que requiere autentificación. El código java para esto es el siguiente
// HelloService y HelloPortType son las clases de cliente generadas por // wsdl2java de CXF a partir del fichero wsdl correspondiente. HelloService hello = new HelloService(); HelloPortType helloPort = cliente.getHelloPort(); org.apache.cxf.endpoint.Client client = ClientProxy.getClient(helloPort); HTTPConduit http = (HTTPConduit) client.getConduit(); http.getClient().setProxyServer("proxy"); http.getClient().setProxyServerPort(8080); http.getProxyAuthorization().setUserName("user proxy"); http.getProxyAuthorization().setPassword("password proxy");
Algunos proxy no admiten "chunking", por lo que puede ser necesaria adicionalmente
http.getClient().setAllowChunking(false);