JSON-запрос с AsyncHttpClient - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь использовать AsyncHttpClient для выполнения запроса JSON. Я попытался использовать несколько реализаций, включая setBody и addBodyPart и многие другие. Результат всегда один и тот же.

Он должен отправить строку, подобную этой, преобразованную в байты:

{
  "template": "c=KZ;o=Template;cn=GOST_RAUTIL_USER_1Y;",
  "useHSM": "true",
  "altAttrs": {
    "altDN": [
      "CN=Test org1, SERIALNUMBER=1111111111",
      "CN=Test org2, SERIALNUMBER=2222222222"
    ]
  },
  "keyName": "XkjCPFLfvJCUYktH",
  "dn": "C=KZ, O=TEST, CN= XkjCPFLfvJCUYktH",
  "internalHSMkey": "true"
}

Но как-то он конвертирует запрос в такой:

.. ip address .. POST заголовки: Content-Type: application / json Авторизация: Базовая SWdvcjpHYW1tYTIwMTk =

Итак, сервер получает неправильный запрос и отвечает сообщением об ошибке:

Текст JSONObject должен начинаться с '{' в 0 [символ 1, строка 1] json:

Вот одна из моих реализаций кода:

  Request request = new RequestBuilder(POST)
            .setUrl(apiUrl)
            .addHeader("Content-Type", "application/json")
            .addHeader("Authorization", "Basic " + DatatypeConverter.printBase64Binary(userPassword.getBytes()))
            .setBody(jsonObject.toString().getBytes())
            .build();

asyncHttpClient.executeRequest(request, new AsyncCompletionHandlerBase() {
            @Override
            public void onThrowable(Throwable t) {
            }

            @Override
            public org.asynchttpclient.Response onCompleted(org.asynchttpclient.Response response) throws Exception {
                System.out.println("COMPLETED");
                return super.onCompleted(response);
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...