Я схожу с ума от этой "проблемы".
Мне нужно сделать 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"
Я что-то не так делаю? Как проверить, будут ли работать мои настройки прокси?