-2

こんにちは、私は Web サービスを初めて使用します。私のプロジェクトでは、要求されたクライアントに Excel ファイルを送信するよりも、データベース インタラクション プロセスとビジネス ロジックを実行する Web サービスを作成する必要があります [ファイルをクライアントにダウンロードする必要があります]。機械]。

  1. SOAP と RESTFULL の両方で添付ファイルを送信できることはわかっています。Excelファイルを送信する最良の方法と、サンプルコードを送信してアイデアを得る方法を知りたいです。

  2. 私は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サービスプロセスのように、そのファイルをクライアントに送信すると、ブラウザのダウンロードポップアップウィンドウが表示され、保存または開く必要があります. 保存をクリックして保存します。

4

1 に答える 1

0

解決策のチェックはこちら

しかし、クライアントはどうですか、どのクライアント[.net、phpなど]でもこれにアクセスできますか。

于 2013-01-24T09:16:20.080 に答える