2013-01-24 122 views
-2

您好朋友我是web服務的新手,他們需要在我的項目中創建一個web服務,它執行一些數據庫交互過程和業務邏輯,而不是發送excel文件到請求的客戶端[文件應該被下載到客戶端機器上]。向客戶端發送excel文件的Java Web服務

  1. 我知道我們可以在SOAP和RESTFULL中都發送附件。我想知道哪些是發送excel文件的最佳方法,以及如何發送示例代碼,以便我可以獲得想法。

  2. 我知道通過XML Web服務通信,我想知道,轉換Excel文件,XML和從他們的客戶端發送到客戶端再次將其轉換爲Excel是該方法從性能和視效點確定。

最後我想知道這是去實現它和示例代碼,這樣我可以進行這項工作的最佳方法。

更新問題 這是項目的一個

@Path("/todo") 
public class TodoResource 
{ 
    @GET 
    @Produces(MediaType.APPLICATION_OCTET_STREAM) 
    public Response getfile(){ 
    File file =new File("D:\\Test.xls"); // Initialize this to the File path you want to serve. 
    return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM).build(); 
     } 
} 

該項目B,其中我創建的客戶端

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    { 

    // TODO Auto-generated method stub 

    System.out.println(">>>>>>>>>>>>>>>>>Starting of Project Test Call >>>>>>>>>>>>>>>>>"); 
    ClientConfig config = new DefaultClientConfig(); 
    Client client = Client.create(config); 
    WebResource service = client.resource(getBaseURI()); 

    //Get Excel Download 

    System.out.println(":::::: The Application APPLICATION_OCTET_STREAM Response :::::: "); 
    System.out.println(service.path("rest").path("todo").accept(MediaType.APPLICATION_OCTET_STREAM).get(String.class)); 
    System.out.println(">>>>>>>>>>>>>>>>>Ending of Project Test Call >>>>>>>>>>>>>>>>>"); 

    } 
private static URI getBaseURI() { 
     return UriBuilder.fromUri("http://localhost:8080/WebService_XML").build(); 
     } 

我的要求是,客戶端會發送一些信息,像參數1我的web服務方法,參數2等,基於它將與數據庫進行交互並創建一個文件。並且該文件應該發送給client.like在點擊呼叫webservice過程中發送該文件到客戶端,瀏覽器下載彈出窗口將出現保存或打開應該出現。點擊保存保存。

+0

不是最好的人回答,但我的經驗倡導者使用寧靜的API –

+0

@JimGarrison致力於restfull我將編輯我的問題,並將發佈代碼。 – user1184777

+0

任何建議都會很棒 – user1184777

回答

0

得到了解決check here

但對於客戶端,可以在任何客戶端[.NET,PHP等]可以訪問此。

相關問題