0
我得到一个StreamCorruptedException,我不知道为什么或如何发生。 任何帮助将会很棒! 这里是客户端:StreamCorruptedException:无效的流头:
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
Map params = new HashMap<String, Object>();
Order[] orders = odao.getOpenOrdersByTenant(tenantID);
JSONObject jObj = new JSONObject();
jObj.put("params", params);
jObj.put("sourcePath", System.getProperty("user.dir") + "/reports/OpenOrders.jasper");
jObj.put("method", "html");
jObj.put("datasource", orders);
ClientResponse response = service.path("rest").path("jasper").path("getJasperReport").type(MediaType.APPLICATION_JSON).post(ClientResponse.class,jObj);
服务器:
@POST
@Path("/getJasperReport")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_JSON)
public void getJasperReport(@Context HttpServletRequest servletRequest, @Context HttpServletResponse servletResponse, @Context UriInfo uriInfo)
throws ServletException, IOException{
ObjectInputStream objInputStream = new ObjectInputStream(servletRequest.getInputStream());
JSONObject jobj = (JSONObject) objInputStream.readObject();
倒数第二行抛出一个java.io.StreamCorruptedException:无效的流头:7B227061
那么如何抽象我的请求实体?或者有更好的方法去解决这个问题吗? – Garvice 2012-04-03 03:41:08
仍然有问题。现在我得到一个非法状态异常,告诉我GetInputStream已经被调用。 – Garvice 2012-04-03 05:44:51
@Garvice - 你现在的代码是什么样的?你是否删除了以前的getInputStream调用? – jtahlborn 2012-04-03 14:04:19