Я вызываю веб-сервис SOAP для двухсторонней аутентификации SSL, проходящей через прокси.Я получаю следующую ошибку при вызове soap-webservice.
com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Forbidden"
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:131)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:212)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:136)
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:110)
Я устанавливаю следующие свойства для BindingProvider
bp.getRequestContext().put("com.sun.xml.ws.developer.JAXWSProperties.SSL_SOCKET_FACTORY", socketFactory);
bp.getRequestContext().put("com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory", socketFactory);
bp.getRequestContext().put("com.sun.xml.ws.transport.https.client.SSLSocketFactory", socketFactory);
bp.getRequestContext().put(JAXWSProperties.SSL_SOCKET_FACTORY, socketFactory);
bp.getRequestContext().put("proxySet","true");
bp.getRequestContext().put("http.proxyHost","host.com");
bp.getRequestContext().put("http.proxyPort","8080");
bp.getRequestContext().put("http.proxyUser","****");
bp.getRequestContext().put("http.proxyPassword","****");
bp.getRequestContext().put("https.proxyHost","host.com");
bp.getRequestContext().put("https.proxyPort","8080");
bp.getRequestContext().put("https.proxyUser","****");
bp.getRequestContext().put("https.proxyPassword","****");
Спасибо!