SOAPConnection через фальшивый прокси не подведет - PullRequest
2 голосов
/ 08 апреля 2011

Я схожу с ума от этой "проблемы".

Мне нужно сделать SOAPConnection через http-прокси без аутентификации. Поскольку в моей сети нет прокси-сервера для тестирования, я решил протестировать настройку поддельного URL-адреса прокси-сервера, чтобы увидеть, как он не работает.

Мое удивление приходит, когда я настроил "dummyHost" и "8080", и JUNit не выйдет из строя. Соединение установлено, и ответ в порядке. Я ожидал получить некоторые проблемы с DNS или тайм-аутом, чтобы проверить, что мое соединение пытается использовать прокси.

Это мой код для настройки этих параметров:

/**
 * Configure the proxy settings.
 * 
 * @param connection
 *            The SOAP connection to be configured.
 */
private void configureProxySettings(SOAPConnection connection)
        throws Exception {

    if (isProxyEnabled()) {

        System.setProperty("proxySet", "true");
        if (proxyHost == null || "".equals(proxyHost)) {
            throw new Exception("No proxy host configured");
        }
        if (proxyPort == 0) {

            throw new Exception("No proxy port configured");
        }
        if (connection instanceof HttpSOAPConnection) {

            HttpSOAPConnection soapConnection = (HttpSOAPConnection) connection;
            soapConnection.setProxy(proxyHost, proxyPort);
        }
    }
}

Реализация SOAPConnection, которую я получаю:

com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection

Если я отлаживаю этот класс (метод "post"). При выполнении запроса свойства системы выглядят нормально:

System.getProperty("http.proxyHost"); //returns "dummyHost"
System.getProperty("http.proxyPort"); //returns "8080"
System.getProperty("proxySet");       //returns "true"

Я что-то не так делаю? Как проверить, будут ли работать мои настройки прокси?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...