こんにちは、私は Web サービスを初めて使用します。私のプロジェクトでは、要求されたクライアントに Excel ファイルを送信するよりも、データベース インタラクション プロセスとビジネス ロジックを実行する Web サービスを作成する必要があります [ファイルをクライアントにダウンロードする必要があります]。機械]。
SOAP と RESTFULL の両方で添付ファイルを送信できることはわかっています。Excelファイルを送信する最良の方法と、サンプルコードを送信してアイデアを得る方法を知りたいです。
私はWebサービスがxmlを介して通信することを知っています。Excelファイルをxmlに変換し、クライアントからクライアントに送信して、再度Excelに変換する方法は、パフォーマンスと効率の両方の観点から問題ありません。
最後に、それを達成するための最良の方法とサンプルコードを知りたいので、それに取り組むことができます。
更新された質問 This is my web service method in project A
@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などの情報を送信することです。そのファイルはクライアントに送信する必要があります.クリックコールWebサービスプロセスのように、そのファイルをクライアントに送信すると、ブラウザのダウンロードポップアップウィンドウが表示され、保存または開く必要があります. 保存をクリックして保存します。