401 Ошибка при доступе к API Rest при передаче get_cookie - PullRequest
0 голосов
/ 12 февраля 2019

Я получаю доступ к API, который ожидает, что я сделаю POST-вызов к их конечной точке входа в систему, а затем сделаю последующие вызовы для получения данных.Звонок, который я делаю к их конечной точке входа, работаетНо последующий вызов для получения данных выдает ошибку 401.Это ошибка, которую я получаю

org.springframework.web.client.HttpClientErrorException: 401 не авторизован в org.springframework.web.client.DefaultResponseErrorHandler.handleError (DefaultResponseEjwork.pr:. Org.pr)client.RestTemplate.handleResponseError (RestTemplate.java:615) по адресу org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:573) по адресу org.springframework.web.client.RestTemplate5:в org.springframework.web.client.RestTemplate.exchange (RestTemplate.java:465) в com.wsc.eventconsumer.phonex.api.InventoryServiceImpl.getProducts (InventoryServiceImpl.java:70)

Теперь это работаеткогда я использую Почтальон и клиент Restlet.Я заметил, что в клиенте Restlet вызов GET к API передает cookie, который был установлен API в вызове входа в систему.Я попытался передать заголовки ответа от вызова входа в систему в запросе GET.Но я все еще получаю 401. Я использую стандартную конфигурацию resttemplate.

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate"/>

HttpEntity<Credentials> entity = new HttpEntity<Credentials>(credentials, headers);
ResponseEntity<String> response = restTemplate.exchange(loginEndpoint, HttpMethod.POST, entity, String.class);
HttpHeaders rHeaders = response.getHeaders();

HttpEntity<String> request = new HttpEntity<String>(rHeaders);
ResponseEntity<Product[]> response2 = restTemplate.exchange(productEndpoint, 
                HttpMethod.GET, request, Product[].class);
...