Ошибка 406 при попытке запустить SQL-запрос с Java - PullRequest
0 голосов
/ 11 июня 2018

Привет всем, кто впервые публикует сообщения, так что я уверен, что пропущу некоторые стандарты стека.

В любом случае я получаю сообщение об ошибке 406 при попытке выполнить SQL-запрос с Java, хотя явозможность подключения без выполнения запроса sql (в моем коде, если я уберу os.write (queryBody.getBytes ()); я подключусь, но, очевидно, не могу выполнить свой запрос sql.Я проверял, не сделал ли я что-то неправильно в своем запросе, но он кажется правильным. Я также пробовал REST-клиент, но он не поддерживает сертификационное соединение. Вот соответствующий код:

            uc.setRequestProperty ("Authorization", basicAuth);
            uc.setRequestMethod("POST");
            uc.setRequestProperty("Accept", "application/json"); 
            uc.setDoOutput(true);


            String queryBody = "\"query\":{\"match\": {\"tables\": \"\"}}, \"size\": 50";

            OutputStream os = uc.getOutputStream();

            os.write(queryBody.getBytes());
            os.flush();


            Reader reader = new InputStreamReader(uc.getInputStream());
            while (true) {
                int ch = reader.read();
                if (ch==-1) {
                    break;
                }
                System.out.print((char)ch);
            }

Я возился со строкой uc.setRequestProperty, но я не могу заставить ее работать с этим. Мой вывод, когда я запускаю uc.getContentType (), это "application / json; charset = UTF-8"Я пробовал другие подобные вопросы в стеке, но не смог найти решение.

1 Ответ

0 голосов
/ 11 июня 2018

Чтобы исправить эту проблему, я изменил строку uc.setRequestProperty («Принять», «Приложение / JSON»);Для uc.setRequestProperty («Content-Type», «application / json»);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...