Вызовите веб-сервис SOAP, используя настройки прокси Windows в Java

я пишу отдельное Java-приложение. Я должен использовать системные настройки прокси по умолчанию (Windows XP, 7) для вызова веб-сервисов SOAP по протоколу HTTPS.

Для определения настроек прокси системы я использую класс ProxySelector. Вот's код:

System.setProperty("java.net.useSystemProxies", "true");
List proxies = ProxySelector.getDefault().select(new URI("https://www.google.com/"));
for (Iterator iter = proxies.iterator(); iter.hasNext();) {
    Proxy proxy = (Proxy) iter.next();
    InetSocketAddress address = (InetSocketAddress) proxy.address();
    if (address == null) {
        UTLogger.getLogger().debug("No proxy (direct connection)");
    } else {
        if (proxy.type().equals(Proxy.Type.HTTP)) {
            System.setProperty("http.proxyHost", address.getHostName());
            System.setProperty("http.proxyPort", String.valueOf(address.getPort()));
            System.setProperty("https.proxyHost", address.getHostName());
            System.setProperty("https.proxyPort", String.valueOf(address.getPort()));
        } else if (proxy.type().equals(Proxy.Type.SOCKS)) {
            System.setProperty("socksProxyHost", address.getHostName());
            System.setProperty("socksProxyPort", String.valueOf(address.getPort()));
        }
    }
}
System.setProperty("java.net.useSystemProxies", "false");

И здесь'Как я инициализирую соединение:

SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[]{new TrustDummy()}, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
servicePort = new MyPort(new URL(wsdlLocation), new QName(nameSpaceURI, localPart)).getMyPortSoap();

Я нене понимаю, почему нетProxy.Type.HTTPS? Если я вызываю метод веб-сервиса, я получаю следующие ошибки.

С установленным http прокси:

javax.xml.ws.WebServiceException: Failed to access the WSDL at: ht tps://...?wsdl. It failed with: Got Unrecognized SSL message, plaintext connection? while opening stream from ht tps://...?wsdl.

и с установленным прокси https:

javax.xml.ws.WebServiceException: Failed to access the WSDL at: ht tps://...?wsdl. It failed with: Got Unable to tunnel through proxy. Proxy returns "HTTP/1.0 403 Forbidden" while opening stream from ht tps://...?wsdl.

Я делаю это неправильно?

Ответы на вопрос(0)

Ваш ответ на вопрос