1

スケーリングと高可用性が必要な Java Web サービス サーバーを構築しています。ユーザーはサービスを通じて大きなファイル (~20M) をアップロードできます。SOAP が推奨されます。

私の質問は次のとおりです。大きなファイルのストリーミングをサポートする Web サービス フレームワークはありますか? 考慮すべき構成要素はありますか? 良い習慣はありますか?

任意の考えをいただければ幸いです。ありがとう。

4

1 に答える 1

3

高いパフォーマンスが必要な場合、Web サービスは優れたものではありません。

(SOAP 添付ファイルのストリーミング) を試すことができます。

File : ImageServer.java //サービス エンドポイント インターフェイス

package com.mkyong.ws;     
import java.awt.Image; 
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;



@WebService
@SOAPBinding(style = Style.RPC)
public interface ImageServer{

    //download a image from server
    @WebMethod Image downloadImage(String name);

    //update image to server
    @WebMethod String uploadImage(Image data);

}

//File : ImageServerImpl.java
package com.mkyong.ws;

import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.jws.WebService;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.soap.MTOM;

//Service Implementation Bean
@MTOM
@WebService(endpointInterface = "com.mkyong.ws.ImageServer")
public class ImageServerImpl implements ImageServer{

    @Override
    public Image downloadImage(String name) {

        try {

            File image = new File("c:\\images\\" + name);
            return ImageIO.read(image);

        } catch (IOException e) {

            e.printStackTrace();
            return null; 

        }
    }

    @Override
    public String uploadImage(Image data) {

        if(data!=null){
            //store somewhere
            return "Upload Successful";
        }

        throw new WebServiceException("Upload Failed!");

    }

}
于 2013-01-22T08:14:56.647 に答える