1......................创建上传文件对象类
- package fileUpLoad;
- import javax.activation.DataHandler;
- public class Resume {
- private String candidateName;
- private String resumeFileType;
- private DataHandler resume;
- public String getCandidateName() {
- return candidateName;
- }
- public void setCandidateName(String candidateName) {
- this.candidateName = candidateName;
- }
- public String getResumeFileType() {
- return resumeFileType;
- }
- public void setResumeFileType(String resumeFileType) {
- this.resumeFileType = resumeFileType;
- }
- public DataHandler getResume() {
- return resume;
- }
- public void setResume(DataHandler resume) {
- this.resume = resume;
- }
- }
2.........................创建接口类
- package fileUpLoad;
- import javax.jws.WebMethod;
- import javax.jws.WebParam;
- import javax.jws.WebService;
- @WebService
- @javax.xml.ws.soap.MTOM
- public interface ResumeUploadService {
- @WebMethod
- public void uploadResume(@WebParam(name = "resume") Resume resume);
- }
3.........................服务端实现类
- package fileUpLoad;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import javax.activation.DataHandler;
- public class ResumeUploadServiceImpl implements ResumeUploadService {
- public void uploadResume(Resume resume) {
- System.out.println("1");
- DataHandler handler = resume.getResume();
- try {
- System.out.println("2");
- InputStream is = handler.getInputStream();
- OutputStream os = new FileOutputStream(new File("G:\\"
- + resume.getCandidateName() +"."+
- resume.getResumeFileType()));
- byte[] b = new byte[100000];
- int bytesRead = 0;
- while ((bytesRead = is.read(b)) != -1) {
- os.write(b, 0, bytesRead);
- }
- System.out.println("3");
- os.flush();
- os.close();
- is.close();
- } catch (IOException e){
- e.printStackTrace();
- }
- }
- }
4...........................................发布接口
- <!-- 实现文件上传接口 -->
- <jaxws:server id="ResumeUpload" serviceClass="fileUpLoad.ResumeUploadService"
- address="/ResumeUpload">
- <!-- 添加实现类 -->
- <jaxws:serviceBean>
- <ref bean="ResumeUploadServiceImpl" />
- </jaxws:serviceBean>
- <!-- 添加协议 使用MTOM附件-->
- <jaxws:properties>
- <entry key="mtom-enabled" value="true" />
- </jaxws:properties>
- </jaxws:server>
5...................................客户端上传类
- package fileUpLoad;
- import java.io.File;
- import javax.activation.DataHandler;
- import javax.activation.DataSource;
- import javax.activation.FileDataSource;
- import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
- public class UpLoad {
- public static void main(String[] args) throws Exception {
- String url = "http://localhost:8080/SpringCXF/services/ResumeUpload?wsdl";
- Resume resume = new Resume();
- resume.setCandidateName("ss");
- resume.setResumeFileType("jpg");
- DataSource source = new FileDataSource(new File("d:\\中国.jpg"));
- resume.setResume(new DataHandler(source));
- JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
- factory.setServiceClass(ResumeUploadService.class);
- factory.setAddress(url);
- ResumeUploadService client = (ResumeUploadService) factory.create();
- try {
- client.uploadResume(resume);
- } catch (Exception e) {
- System.out.println("sa");
- }
- System.out.println("success");
- }
- }
如果出现缺少架包的问题,请参考http://blog.csdn.net/wangnetkang/article/details/7818399
相关推荐
基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...
基于以上文件,我们可以推断,这个项目可能包含了一个使用CXF实现的Web服务,服务端包含处理分块文件上传的逻辑,而`wsdl`和`wsdl-src`文件可能描述了服务的接口。客户端可能通过调用这些服务接口,将大文件分割并逐...
3. **文件上传**:在Web服务的客户端端,JACOB可以帮助将本地文件包装成COM对象,然后通过Web服务发送到服务器端。 4. **文件下载**:在服务器端,JACOB可以用来读取文件内容,然后通过Web服务响应将文件数据返回给...
例如,可以通过Spring配置文件声明式地配置CXF服务端点,实现服务的自动扫描和初始化。同时,可以利用Spring的事务管理功能来确保服务操作的原子性和一致性。此外,通过Spring的依赖注入,可以轻松地将自定义逻辑...
CXF提供了处理MIME多部分请求的能力,这使得我们可以方便地实现文件上传。你需要创建一个服务方法,接收`multipart/form-data`类型的请求,从中提取文件内容。对于文件下载,你可以返回一个包含文件内容的`...
在CXF中实现RESTful Web服务进行文件下载,主要涉及到以下几个关键步骤: 1. **配置CXF**:首先,你需要在项目中引入Apache CXF的依赖库,并配置相关的服务端点(Endpoint)。这通常通过Spring配置文件或者Java配置...
安装这个库后,我们需要在项目中配置它,以便对CXF Webservice接口进行跨域支持。 `java-property-utils-1.9.jar`是另一个关键组件,它提供了一些工具类,用于处理Java属性文件和环境变量。在这个场景下,它可能...
在本案例中,"webservice文件上传下载.zip"是一个包含实现文件上传和下载功能的Web服务示例。这个压缩包提供的代码可以立即运行,帮助开发者理解如何在Web服务中处理文件操作。 一、Web服务基础 Web服务使用XML(可...
例如,你可以创建一个`@WebService`注解的服务接口,然后实现该接口以处理文件上传和下载的业务逻辑。 2. **设置数据传输**:文件通常是通过HTTP或HTTPS协议传输的,因此你需要在服务方法中使用`javax.activation....
【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...
WebService上传下载是一个常见的Web应用程序功能,它涉及到CXF框架与Spring框架的集成,以及通过WebService接口来...通过分析和运行这些代码,可以加深对WebService文件下载原理的理解,并学习如何在实际项目中应用。
在IT行业中,Web服务是一种广泛使用的通信协议,它允许不同应用程序之间进行数据交换。CXF是一个流行的开源框架,用于创建和消费Web服务,而Spring框架则是一个强大的Java企业级应用开发平台。本教程将深入探讨如何...
本文将详细介绍如何使用SpringBoot结合CXF来创建一个支持多种数据类型交换和文件上传下载功能的Web服务。 首先,让我们了解SpringBoot。SpringBoot简化了Spring应用的初始搭建以及开发过程。它集成了许多常用的库,...
10. **测试与调试**:为了确保服务的正确性,可以编写JUnit测试用例,模拟客户端进行文件上传和下载,检查结果是否符合预期。同时,使用CXF提供的工具,如CXF wsdl2java,生成客户端代码,便于调试和测试。 通过这...
"WebService之CXF开发指南.doc", "Cxf应用整理.doc", "CXF+WebService+-+release.docx", "基于spring+cxf实现用户文件传输的webservice.docx"是关于CXF的详细学习文档,涵盖了从基础概念到高级特性的讲解,以及具体...
以上就是关于"xfire webservice 上传下载源码"的相关知识点,希望对你理解和实践XFire在文件上传下载中的应用有所帮助。通过深入研究这个Demo,你可以进一步掌握如何利用XFire构建高效、安全的Web服务。
本篇文章将深入探讨 CXF 的一些核心功能,包括简单的 HelloWorld 示例、复杂对象的传递、安全机制以及大文件上传(MTOM)。 ### 1. CXF HelloWorld 示例 创建一个简单的 CXF 服务,首先要定义一个服务接口,使用 `...
而XFire(后被Apache CXF所吸收)则是一款高效的Web服务实现工具,它允许开发者轻松地创建和消费SOAP Web服务。当Spring与XFire结合时,可以提供一个优雅的、面向切面的Web服务解决方案。本文将深入探讨如何使用...
5. **测试与优化**:部署完成后,对整个系统进行测试,确保文件上传流程的完整性和安全性。根据测试结果进行性能优化,例如增加并发处理能力、提升上传速度等。 这个项目展示了如何将这些技术结合,构建一个安全、...
对于附件上传,XFire提供了处理二进制数据流的能力,使得文件上传成为可能。 要实现附件上传,我们需要以下步骤: 1. **创建Web服务接口**:定义一个Java接口,包含一个方法用于接收上传的文件。这个方法通常会...