当我尝试运行此代码时(问题示例取自此网站http://www.redmine.org/projects/redmine/wiki/Rest_api_with_java):
RedmineManager redmineManager = new RedmineManager("http://something.cz", "somekey"); //I changed these two parameters for security reasons when paste here
System.out.println(redmineManager.getProjects().size()); //this works fine
Issue issueToCreate = new Issue();
issueToCreate.setSubject("This is the summary line 123");
Issue newIssue = redmineManager.createIssue("test-project", issueToCreate); //this line throws exception
它以这个例外结束
Exception in thread "main" com.taskadapter.redmineapi.RedmineFormatException: org.json.JSONException: A JSONObject text must begin with '{' at character 1
at com.taskadapter.redmineapi.internal.Transport.parseResponse(Transport.java:456)
at com.taskadapter.redmineapi.internal.Transport.addObject(Transport.java:186)
at com.taskadapter.redmineapi.RedmineManager.createIssue(RedmineManager.java:135)
at javaapplication146.JavaApplication146.main(JavaApplication146.java:27)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 1
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.<init>(JSONObject.java:179)
at org.json.JSONObject.<init>(JSONObject.java:402)
at com.taskadapter.redmineapi.internal.RedmineJSONParser.getResponseSingleObject(RedmineJSONParser.java:609)
at com.taskadapter.redmineapi.internal.Transport.parseResponse(Transport.java:454)
... 3 more
Java Result: 1
同样的行为适用于任何其他“获取一些对象”(有效)和“创建一些对象”(无效)。
我正在使用 maven ( http://mvnrepository.com/artifact/com.taskadapter/redmine-java-api ) 及其对 1.23 版本的依赖,但是我尝试了 1.12.0 并引发了相同的异常。
我们使用的是最新的 redmine 2.5.1.stable,但是基于 stacktrace,redmine web 和这个 redmine api 之间的通信不会发生,因为在应用程序的“parseRespone”部分中抛出了异常。