openshift datagrid REST-авторизация, потребляющая - PullRequest
0 голосов
/ 19 ноября 2018

Пожалуйста, я пытаюсь отправить POST в openshift datagrid через REST с помощью Spring, и я получаю следующее:

2018-11-19 08: 21: 47.607 ОШИБКА 7297 --- [nio-8080-exec-2] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [] выдало исключение [Ошибка обработки запроса; вложенное исключение - org.springframework.web.client.HttpClientErrorException: 401 не авторизовано] с основной причиной

org.springframework.web.client.HttpClientErrorException: 401 не авторизовано

мой код следующий:

@PostMapping("/cachedatagrid")
    public ResponseEntity<String> postAccount(@RequestBody Sample samplep) {
        RestTemplate restTemplate = new RestTemplate();

        String resourceUrl
                = "http://myapp/rest/default";

        ResponseEntity<Sample> response;
        HttpHeaders httpHeaders = this.createHeaders("user", "pwd");

        Sample sample = new Sample();
        sample.setName("sample");

        HttpHeaders httpHeaders2;
        httpHeaders2 = restTemplate
                .headForHeaders(resourceUrl);

        HttpEntity<Sample> requestUpdate = new HttpEntity<Sample>(sample, httpHeaders);

        response = restTemplate.postForEntity(resourceUrl, requestUpdate , Sample.class);

        return new ResponseEntity<String>("POST Response", HttpStatus.OK);
    }

и содержимое заголовка:

private HttpHeaders createHeaders(String username, String password){
        return new HttpHeaders() {{
            String auth = username + ":" + password;
            byte[] encodedAuth = Base64.encodeBase64(
                    auth.getBytes(Charset.forName("US-ASCII")) );
            String authHeader = "Basic" + new String(encodedAuth);
            set("Authorization", authHeader);
        }};
    }

Я не могу выяснить, что не так с createHeaders. Авторизация должна быть установлена.

Я звоню на почту, используя почтальона: http://localhost:8080/cachedatagrid

Я сравнил свой код с несколькими кодами в Интернете и не пытался заставить его работать.

Пожалуйста, вы можете дать некоторые рекомендации по этому поводу? Я пару дней пытаюсь решить это.

Привет

Érico

...