Frühjahr RestTemplate erhält "401 Unauthorized"

Ich bin mit dem folgenden abrufen JSON über RestTemplate im Frühjahr 4:

protected DocInfoResponse retrieveData(String urlWithAuth) {
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.add("Authorization", "Basic " + auth.getSig());
    HttpEntity<String> request = new HttpEntity<String>(headers);
    ResponseEntity<DocInfoResponse> response = restTemplate.exchange(urlWithAuth, HttpMethod.GET, request, DocInfoResponse.class);
    return response.getBody();
}

Verwendete ich den selben code (mit verschiedenen response-Klasse), erfolgreich bekommen ein JSON-doc von der selben Seite (mit unterschiedlichen Parametern um einen anderen doc).

Wenn ich führen Sie den obigen code erhalte ich die folgende stack-trace (teilweise):

Caused by: org.springframework.web.client.HttpClientErrorException: 401 Unauthorized 
at 
org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91) ~[spring-web-4.3.7.RELEASE.jar:4.3.7.RELEASE]

Kann jemand Punkt mich, warum dies sein könnte empfangen die Ausnahme.

Haben Sie versucht, auf das gleiche aus browser oder Briefträger? Ist es die dort arbeiten, mit dieser Authentifizierung?
Ja, ich habe die gleiche URL, um erfolgreich die erwarteten Ergebnisse zurück im Browser.
Es ist sicherlich ein Authentifizierungs-problem. Sind Sie auf der Generierung von digitalen Signaturen für die Authentifizierung? Die Signatur, URL-spezifische?
Digitale Signatur generiert wird. Das ist in der 'auth.getSig ()' - Aufruf. Es gibt nichts in der site-Dokumentation, gibt es URL-spezifisch. Die gleiche Signatur/Algorithmus ist in beiden Fällen (die URL der funktioniert und den man gar nicht).
Kannst du die andere Methode die funktioniert?

InformationsquelleAutor Squigglylot | 2017-03-11

Schreibe einen Kommentar