#spring #spring-boot
#spring #spring-загрузка
Вопрос:
Моему приложению необходимо извлечь XML-файл из Интернета следующим образом:
@Bean
public HTTPMetadataProvider metadataProvider()
throws MetadataProviderException {
String metadataURL = "http://idp.ssocircle.com/idp-meta.xml";
final Timer backgroundTaskTimer = new Timer(true);
HTTPMetadataProvider provider =
new HTTPMetadataProvider(backgroundTaskTimer, httpClient(), metadataURL);
provider.setParserPool(parserPool());
return provider;
}
Я работаю с использованием отфильтрованной сети, поэтому приложение не может получить этот файл.
Есть способ настроить HTTP прокси (например myproxy.eu:8080
) в Spring Boot?
В качестве альтернативы я мог бы получить XML-файл с помощью протокола HTTPS, но я должен правильно настроить поставщика метаданных, чтобы поддерживать зашифрованное соединение… Как?
Ответ №1:
Это не то, что вы можете настроить в spring boot, HttpClient не использует переменные java.
Для этого вам необходимо настроить прокси на HttpClient вручную:
HostConfiguration hostConfig = new HostConfiguration();
hostConfig.setProxyHost(new ProxyHost("your.proxy.host", 8080));
httpClient.setHostConfiguration(hostConfig);
Комментарии:
1. куда в приложении spring-boot переходит этот фрагмент кода?
2. Есть ли варианты настройки свойств прокси через
application.yml
в Spring Boot?