スケーリングと高可用性が必要な Java Web サービス サーバーを構築しています。ユーザーはサービスを通じて大きなファイル (~20M) をアップロードできます。SOAP が推奨されます。
私の質問は次のとおりです。大きなファイルのストリーミングをサポートする Web サービス フレームワークはありますか? 考慮すべき構成要素はありますか? 良い習慣はありますか?
任意の考えをいただければ幸いです。ありがとう。
スケーリングと高可用性が必要な Java Web サービス サーバーを構築しています。ユーザーはサービスを通じて大きなファイル (~20M) をアップロードできます。SOAP が推奨されます。
私の質問は次のとおりです。大きなファイルのストリーミングをサポートする Web サービス フレームワークはありますか? 考慮すべき構成要素はありますか? 良い習慣はありますか?
任意の考えをいただければ幸いです。ありがとう。
高いパフォーマンスが必要な場合、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!");
}
}