1
我有一個restfull服務,在該服務中,我應該向客戶端發送一個inputstream對象。所以我寫了下面的代碼...在服務方法..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;
}
在我的客戶端應用程序的IM調用該服務爲...
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錯誤..像下面errror ....
com.sun.jersey.api.client.UniformInterfaceException: GET http://myIp:myport/RestfullApp02/resources/LoadFile/getFile returned a response status of 500
幫我
當我們返回的InputStream對象。只有在返回之前的VL關閉InputStream ..然後當v可以讀取數據流.. 你能告訴我的客戶如何調用此方法並獲取InputStream對象.... – 2012-03-30 13:40:40
您的問題中的一段代碼將爲此工作: InputStream ob = webResource.path(「getFile」)。get(InputStream.class); – NamingException 2012-03-30 13:47:15
謝謝你naveen ..我終於得到了...救了我的一天... – 2012-03-30 13:56:20