JAX-WS - 二進位制處理之MTOM(檔案上傳)
一、一般模式
服務端:
import javax.jws.WebService;
@WebService
public interface UploadService {
public void upload(byte[] file);
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.jws.WebService;
import com.xilen.jws.UploadService;
@WebService(endpointInterface="com.xilen.jws.UploadService", serviceName="UploadServiceImplService")
public class UploadServiceImpl implements UploadService{
@Override
public void upload(byte[] file) {
try {
/**
* 將位元組陣列輸出到檔案
*/
FileOutputStream fos = new FileOutputStream(new File("test.png"));
fos.write(file);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class WsStart {
public static void main(String[] args) {
String address = "http://127.0.0.1:8888/upload";
Endpoint.publish(address, new UploadServiceImpl());
}
}
客戶端:import java.io.File;
import java.io.IOException;
import javax.xml.ws.soap.MTOMFeature;
import org.apache.commons.io.FileUtils;
import com.xilen.jws.impl.UploadService;
import com.xilen.jws.impl.UploadServiceImplService;
public class ClientMain {
public static void main(String[] args) {
try {
UploadServiceImplService usis = new UploadServiceImplService();
UploadService service = usis.getUploadServiceImplPort();
service.upload(FileUtils.readFileToByteArray(new File("G:/xl.png")));
} catch (IOException e) {
e.printStackTrace();
}
}
}
分析:
二、MTOM模式
服務端:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.jws.WebService;
import javax.xml.ws.soap.MTOM;
import com.xilen.jws.UploadService;
/**
* 實現類註解MTOM
*/
@WebService(endpointInterface="com.xilen.jws.UploadService", serviceName="UploadServiceImplService")
@MTOM
public class UploadServiceImpl implements UploadService{
@Override
public void upload(byte[] file) {
try {
/**
* 將位元組陣列輸出到檔案
*/
FileOutputStream fos = new FileOutputStream(new File("test.png"));
fos.write(file);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客戶端:
import java.io.File;
import java.io.IOException;
import javax.xml.ws.soap.MTOMFeature;
import org.apache.commons.io.FileUtils;
import com.xilen.jws.impl.UploadService;
import com.xilen.jws.impl.UploadServiceImplService;
public class ClientMain {
public static void main(String[] args) {
try {
UploadServiceImplService usis = new UploadServiceImplService();
/**
* 獲取遠端服務代理時傳入MTOMFeature例項
*/
UploadService service = usis.getUploadServiceImplPort(new MTOMFeature());
service.upload(FileUtils.readFileToByteArray(new File("g:/xl.png")));
} catch (IOException e) {
e.printStackTrace();
}
}
}
分析:
三、資源
http://download.csdn.net/detail/u013379717/7557125
相關文章
- Git處理二進位制檔案Git
- 用shell處理二進位制檔案(轉)
- 前端怎麼處理二進位制檔案下載前端
- 二進位制處理技巧
- mysqlbinlog 處理二進位制日誌檔案的工具MySql
- 使用 IDA 處理 U-Boot 二進位制流檔案boot
- UE複製貼上二進位制檔案
- 二進位制檔案複製
- php寫二進位制檔案PHP
- 二進位制檔案拷貝
- laravel處理檔案上傳Laravel
- 第14周-專案1-用二進位制檔案處理學生成績
- C++中的檔案輸入/輸出(5):二進位制檔案的處理 (轉)C++
- Python使用struct處理二進位制PythonStruct
- 二進位制檔案視覺化(二)視覺化
- 檔案操作(二進位制拷貝)
- MySQL二進位制檔案(binlog)MySql
- PHP CURL 上傳二進位制流圖片PHP
- .NET Core 如何上傳檔案及處理大檔案上傳
- ABAP 報表中如何以二進位制方式上傳本地檔案試讀版
- 【原創】WebService大講堂之Axis2(4):二進位制檔案傳輸Web
- 文字檔案與二進位制檔案的區別
- Python讀寫二進位制檔案Python
- Java二進位制Class檔案格式解析Java
- c++ 二進位制儲存檔案C++
- C#的二進位制檔案操作C#
- 使用UltraEdit 拷貝二進位制檔案
- WebLogic之Java反序列化漏洞利用實現二進位制檔案上傳和命令執行WebJava
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 使用 JavaScript 上傳 PDF 和 Excel 等二進位制檔案到 ABAP 伺服器並進行解析JavaScriptExcel伺服器
- MySQL 匯出匯入二進位制檔案MySql
- UltraEdit--二進位制檔案編輯功能
- 介面返回二進位制檔案的下載。
- 二進位制檔案記憶體對映記憶體
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- php上傳大檔案失敗處理PHP
- 二進位制與二進位制運算