資源簡介
CXF是支持對附件上傳的協議MTOM。
MTOM(SOAP Message Transmission Optimization Mechanism)SOAP 消息傳輸優化機制,可以在SOAP 消息中發送二進制數據,與SAAJ 傳輸附件不同,MTOM需要XOP(XML-binary Optimized Packing)來傳輸二進制數據。MTOM 允許將消息中包含的大型數據元素外部化,并將其作為無任何特殊編碼的二進制數據隨消息一起傳送。MTOM 消息會打包為多部分相關 MIME 序列,放在SOAP 消息中一起傳送。因此你可以看出MTOM 并不是將附件轉為Base64 編碼,這樣可以大大的提高性能,因為二進制文件轉Base64 編碼會非常龐大。
MTOM 方式中要傳輸的附件必須使用javax.activation.DataHandler 類,然后對象類型還要使用@javax.xml.binding.annotation.XmlMimeType 進行注解,標注這是一個附件類型的數據。
這里拿上傳及下載用戶的圖像為例子,大致的說下CXF的MTOM協議對附件的支持
代碼片段和文件信息
package?com.exp.common.core;
public?class?Constants?{
public?final?static?String?WS_NAMESPACE=“http://abc.com“;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-07?10:38??cxf_upload\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\
?????文件????????2152??2012-09-25?11:12??cxf_upload\cxf_demo\.classpath
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\.myeclipse\
?????文件?????????304??2012-09-26?16:30??cxf_upload\cxf_demo\.myme
?????文件????????1010??2012-09-26?16:30??cxf_upload\cxf_demo\.project
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\.settings\
?????文件??????????88??2012-09-25?10:08??cxf_upload\cxf_demo\.settings\org.eclipse.core.resources.prefs
?????文件?????????330??2012-09-25?10:02??cxf_upload\cxf_demo\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\logs\
?????文件???????????0??2012-09-25?11:00??cxf_upload\cxf_demo\logs\errlog.txt
?????文件???????18772??2012-09-26?16:31??cxf_upload\cxf_demo\logs\log.txt
?????文件???????42262??2012-09-25?16:17??cxf_upload\cxf_demo\logs\log.txt.2012-09-25
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\common\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\common\core\
?????文件?????????123??2012-09-25?13:28??cxf_upload\cxf_demo\src\com\exp\common\core\Constants.java
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\service\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\service\core\
?????文件?????????277??2012-09-25?10:30??cxf_upload\cxf_demo\src\com\exp\service\core\TestService.java
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\service\outer\
?????文件?????????618??2012-09-26?16:04??cxf_upload\cxf_demo\src\com\exp\service\outer\HelloWorld.java
?????文件????????2178??2012-09-26?16:51??cxf_upload\cxf_demo\src\com\exp\service\outer\HelloWorldImpl.java
?????文件????????1345??2012-09-26?16:17??cxf_upload\cxf_demo\src\com\exp\service\outer\User.java
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\web\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\web\core\
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\web\core\action\
?????文件?????????973??2012-09-25?10:29??cxf_upload\cxf_demo\src\com\exp\web\core\action\TestAction.java
?????目錄???????????0??2012-09-26?16:54??cxf_upload\cxf_demo\src\com\exp\web\core\servlet\
............此處省略84個文件信息
評論
共有 條評論