Spring 4.0.0 базовая аутентификация с RestTemplate

В настоящее время я работаю над интеграцией стороннего приложения с нашей локальной системой отчетности. Я хотел бы реализовать вызовы REST с базовой аутентификацией, но столкнулись с проблемами в Spring 4.0.0. У меня есть простое решение, которое работает хорошо:

final RestTemplate restTemplate = new RestTemplate();
final String plainCreds = "username:password";
final byte[] plainCredsBytes = plainCreds.getBytes();
final byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
final String base64Creds = new String(base64CredsBytes);

final HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
final HttpEntity<String> request = new HttpEntity<String>(headers);

final ResponseEntity<MyDto> response = restTemplate.exchange("myUrl", HttpMethod.GET, request, MyDto.class);
final MyDto dot = response.getBody();

но хотел переписать это, чтобы использоватьClientHttpRequestFactory следующим образом:

final RestTemplate restTemplate = new RestTemplate(createSecureTransport("username", "password"));

private ClientHttpRequestFactory createSecureTransport(final String username, final String password) {
    final HttpClient client = new HttpClient();
    final UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(username, password);
    client.getState().setCredentials(new AuthScope(null, 9090, AuthScope.ANY_REALM), credentials);
    return new CommonsClientHttpRequestFactory(client);
}

Этот код не компилируется какCommonsClientHttpRequestFactory класс больше не существует в Spring 4.0.0. Кто-нибудь знает альтернативное решение этого? Я новичок в этом мире REST, поэтому любая помощь будет оценена.

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

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