Требуется проверка подлинности прокси-сервера Play WS

Я пытаюсь выполнить вызов WS, используя платформу воспроизведения за корпоративным прокси. В настоящее время у меня есть параметры http.proxyHost (user, pass, port) в файле build.bat. Я могу установить URL-соединение с желаемым внешним URL-адресом, но при попытке использовать Play WS api я получаю ошибку 407, требующую аутентификации. Я попытался удалить параметры аутентификации прокси из build.bat и поместить параметры в файл application.conf, но это не имело никакого значения.

    final Promise<Result> result = WS.url(endpoint).get().map(
            new Function<WS.Response, Result>() {
                public Result apply(WS.Response response) {
                    return ok(response.getStatus() + " " + response.getBody() + " " + response.getStatusText());
                }
            }
    );

ОБНОВЛЕНИЕ: во время отладки я взглянул на значения в объекте конфигурации, и, похоже, все настроено. Не понимаю, почему у меня все еще возникают проблемы с аутентификацией ...

Play.application().configuration().getString("http.proxyHost")
Play.application().configuration().getString("http.proxyPort")
Play.application().configuration().getString("http.proxyUser")
Play.application().configuration().getString("http.proxyPassword")

person user3297890    schedule 11.02.2014    source источник


Ответы (1)


Я не знаю почему, но установка ws.useProxyProperties = false, похоже, сработала. Я бы подумал, что приложению потребуется использовать свойства прокси из файла сборки, но похоже, что это не так.

person user3297890    schedule 17.09.2014
comment
Неправильное решение, просто отключил использование прокси. Но, похоже, проиграйте ws api (или AsyncHttpClient) как проблемы после 407 ответов, отправленных настроенным прокси, или используйте http auth прямо при первом вызове - person Benoit; 08.11.2016