读书人

关于CXF大文件的传输有关问题

发布时间: 2012-12-25 16:18:28 作者: rapoo

关于CXF大文件的传输问题

最近在做一个webservice的项目,本人选用的是Apache CXF来实现,因为需要再项目中进行大文件的传输问题,在网上找了很多这方面的资料,都不甚理想,说的都不够明白,有的文章讲的传输小文件还可以,在传输大文件的时候就会报内存溢出异常,这个是麻烦的事情,本人在综合了各位前辈的经验,终于实现了大文件大的传输问题,采用的是mtom的机制进行附件传输,废话少说,下面就是cxf整合spring进行大文件传输的一个例子,当然了,至于jar包就自己到官网下载了,首先开发客户端代码:

第一步:开发接口

?下面是applicationContext.xml的配置:

到这里服务器端就开发完毕,把项目部署到tomcat容器里,访问地址:(我的是80端口)http://localhost/testFileUpload/sealService/FileUpload?wsdl,如果能访问的到,就说明成功了。下面的任务就是要开发客户端了。

首先接口:

?<map><entry key="mtom-enabled" value="true"></entry></map>这个绝对不能少。

现在可以测试了:

package cn.genomics.signtureserver.cxf;import javax.activation.DataHandler;import javax.activation.FileDataSource;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ApplicationContext con = new ClassPathXmlApplicationContext("applicationContext_client.xml");IFileUpload iu = con.getBean("client",IFileUpload.class);Resume re = new Resume();re.setFileName("h1");re.setFileType("zip");re.setFileData(new DataHandler(new FileDataSource("D:\\华大基因\\testDemo\\t1\\h1.zip")));iu.upload(re);}}

?

读书人网 >软件架构设计

热点推荐