0
Ich versuche, die URL mit Standardauthentifizierung zu erhalten. Ich stelle den Benutzer/das Passwort wie unten angegeben ein. Derselbe Berechtigungsnachweis funktioniert im Postboten.HttpClientErrorException: 401 Nicht autorisierte Basisauthentifizierung
String RELATIVE_IDENTITY_URL = "http://my_url/api/core/v3/people/email/[email protected]";
RestTemplate restTemplate;
Credentials credentials;
//1. Set credentials
credentials = new UsernamePasswordCredentials("admin", "admin");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY, credentials);
//2. Bind credentialsProvider to httpClient
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
CloseableHttpClient httpClient = httpClientBuilder.build();
HttpComponentsClientHttpRequestFactory factory = new
HttpComponentsClientHttpRequestFactory(httpClient);
//3. create restTemplate
restTemplate = new RestTemplate();
restTemplate.setRequestFactory(factory);
//4. restTemplate execute
String url = RELATIVE_IDENTITY_URL;
String xml = restTemplate.getForObject(url,String.class);
System.out.println("Done");
Ich denke, die Anmeldeinformationen sind nicht korrekt festgelegt. Was ist hier falsch.? Fehler:
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:667)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:620)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:287)
at com.src.AuthRestService.main(AuthRestService.java:85)
Wenn Sie die Anfrage stellen, wie fügen Sie die Anmeldeinformationen an und legen Sie den Auth-Header fest? –
@MikeTung: Ich habe gerade vermisst, hinzuzufügen. Ich dachte wirklich, dass es aus dem Set-Credentials-Teil oben gehen würde. es funktioniert, wenn ich es über Header setze. Vielen Dank – NaaN