将excel文件发送到客户端的Java Web服务

时间:2013-01-24 05:10:42

标签: java xml web-services rest soap

嗨朋友我不熟悉Web服务,他们在我的项目中要求创建一个webservice来执行一些数据库交互过程和业务逻辑,而不是将excel文件发送到所请求的客户端[文件应该被下载客户端meachine]。

  1. 我知道我们可以在SOAP和RESTFULL中发送附件。我想知道哪个是发送excel文件的最佳方法,以及如何发送示例代码以便我可以了解。

  2. 我知道Web服务通过xml进行通信我想知道将excel文件转换为xml并将其从客户端发送到客户端再次将其转换为excel是从性能和效率方面确定的方法查看。

  3. 最后,我想知道实现它的最佳方法和示例代码,以便我可以使用它。

    更新了问题 这是我在项目A中的Web服务方法

    @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,参数2等,基于它将与数据库交互并创建一个文件。并且该文件应该发送到client.like点击调用webservice进程将它发送给客户端,浏览器下载弹出窗口会出现保存或打开应该出现。点击保存保存。

1 个答案:

答案 0 :(得分:0)

获得解决方案check here

但客户端呢,任何客户端[.net,php等]都可以访问它。