RESTful服务方法可以将Object发送给客户端吗?

时间:2012-03-30 12:36:14

标签: java rest

我有一个restfull服务,在该服务中我应该向客户端发送一个输入流对象。所以我在服务方法中编写了以下代码..

@GET
@Path("/getFile")
@Produces("application/pdf")
public InputStream getFile() throws Exception {
FileInputStream fin = null;
FileOutputStream fout = null;
DataInputStream dis = null;
System.out.println("getFile called in server...");
File serverFile = null;
System.out.println("getfile called..");
try {
    serverFile = new File("E:\\Sample2.txt");
    fin = new FileInputStream(serverFile);
    dis = new DataInputStream(fin);
    fin.close();
   // dis.close();
} catch (Exception e) {
    System.out.println("Exception in server appl..***************");
    e.printStackTrace();
}
return dis;
}

在我的客户端应用程序中,我将此服务称为...

 String clientURL = "http://xxxxxxx:xxxx/RestfullApp02/resources/LoadFile";
 Client client = Client.create();
 WebResource webResource = client.resource(clientURL);

 InputStream ob = webResource.path("getFile").get(InputStream.class);

但是我无法得到回复,它发送了500错误..就像下面的错误....

com.sun.jersey.api.client.UniformInterfaceException: GET http://myIp:myport/RestfullApp02/resources/LoadFile/getFile returned a response status of 500

帮帮我

1 个答案:

答案 0 :(得分:2)

请参考以下链接,我觉得你可以通过它解决问题。

http://wpcertification.blogspot.in/2011/11/returning-binary-file-from-rest-service.html