Доступ к слиянию REST API от Java - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь получить правильный ответ от API Confluence REST, но я все еще получаю IOException, сообщая, что сервер отвечает с кодом состояния 500.Вот код, который я использую:

String test = executePost("http://<server>/rest/api/content/");

public static String executePost(String targetURL) 
{
  HttpURLConnection connection = null;

  try 
  {
    //Create connection
    URL url = new URL(targetURL);
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type",
          "application/json; charset=utf-8");

    String name = "admin";
    String password = "admin";

    String authString = name + ":" + password;
    String encodedString = Base64.getEncoder().encodeToString(authString.getBytes());

    connection.setRequestProperty("Authorization", "Basic " + encodedString);     

    connection.setUseCaches(false);
    connection.setDoOutput(true);

    //Send request
    DataOutputStream wr = new DataOutputStream(
          connection.getOutputStream());
    wr.close();

    //Get Response  
    InputStream is = connection.getInputStream();
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    StringBuffer response = new StringBuffer();
    String line;
    while ((line = rd.readLine()) != null) 
    {
      response.append(line);
      response.append('\r');
    }
    rd.close();
    return response.toString();
  } 
  catch (IOException e) 
  {
    e.printStackTrace();
    return null;
  } 
  finally 
  {
    if (connection != null) 
      connection.disconnect();
  }
}

Ошибка, которую я получаю, говорит:

java.io.IOException: Server returned HTTP response code: 500 for URL: http://<server>/rest/api/content/

Когда я пытаюсь отправить запрос через curl с теми же учетными данными, яЯ получаю ожидаемый ответ, что должно означать, что я что-то упустил в своем коде Java, но я не могу узнать, что.

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