嗨朋友我不熟悉Web服务,他们在我的项目中要求创建一个webservice来执行一些数据库交互过程和业务逻辑,而不是将excel文件发送到所请求的客户端[文件应该被下载客户端meachine]。
我知道我们可以在SOAP和RESTFULL中发送附件。我想知道哪个是发送excel文件的最佳方法,以及如何发送示例代码以便我可以了解。
我知道Web服务通过xml进行通信我想知道将excel文件转换为xml并将其从客户端发送到客户端再次将其转换为excel是从性能和效率方面确定的方法查看。
最后,我想知道实现它的最佳方法和示例代码,以便我可以使用它。
更新了问题 这是我在项目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进程将它发送给客户端,浏览器下载弹出窗口会出现保存或打开应该出现。点击保存保存。