Хорошо, я наконец понял это. Метод обмена именно то, что мне нужно. Возвращает HttpEntity, который содержит полные заголовки.
RestTemplate template = new RestTemplate();
HttpEntity<String> response = template.exchange(url, HttpMethod.POST, request, String.class);
String resultString = response.getBody();
HttpHeaders headers = response.getHeaders();