Java JasperReports服务器REST返回415个不支持的媒体类型

Java JasperReports服务器REST返回415个不支持的媒体类型,java,rest,jasperserver,Java,Rest,Jasperserver,我已经在JasperReports服务器上创建了一个Jasper报告。如果我在管理员网页中单击它,报告将正确生成(通过首先查询我的数据库)并呈现。我还希望通过/reportExecutions REST调用运行报告,但无法使其正常工作。我使用以下代码发出POST请求: String xml = "" + "<reportExecutionRequest>" + "..." + "</reportExecutionRequest>"; HttpPost pos

我已经在JasperReports服务器上创建了一个Jasper报告。如果我在管理员网页中单击它,报告将正确生成(通过首先查询我的数据库)并呈现。我还希望通过/reportExecutions REST调用运行报告,但无法使其正常工作。我使用以下代码发出POST请求:

String xml = ""
  + "<reportExecutionRequest>"
  + "..."
  + "</reportExecutionRequest>";

HttpPost post = new HttpPost(
  new URI("http://localhost:8080/rest_v2/reportExecutions"));
post.setHeader("Content-Type", "application/xml");
post.setEntity(new StringEntity(xml));

HttpResponse response = client.execute(post);
因此,它看起来接收的内容类型为“application/octet stream”,找不到消息体读取器。知道我做错了什么吗


谢谢。

错误消息说您正在以
应用程序/octet流的形式发送XML。您的代码在httpclient-4.3.6的jaspersever 6.2.1实例上运行良好。也许你有多余的代码来重置内容类型头。我不认为我有多余的代码会把事情搞砸。我现在就让它工作。我确实记得在初始请求中添加了HTTP基本身份验证头。我认为这使它工作了,但是在下一个请求中它失败了,即检索请求状态。最后,我通过使用登录服务并跟踪会话cookie解决了这个问题。我无法获得多个使用HTTP basic的请求。不知道为什么。服务器似乎不跟踪基于用户名/密码的会话,而登录服务跟踪(基于会话cookie)
Caused by: com.sun.jersey.api.MessageException: 
A message body reader for Java class 
com.jaspersoft.jasperserver.jaxrs.report. 
ReportExecutionRequest, and Java type class
com.jaspersoft.jasperserver.jaxrs.report.ReportExecutionRequest,
and MIME media type application/octet-stream was not found.