`

CXF实现文件上传

    博客分类:
  • CXF
 
阅读更多

1......................创建上传文件对象类

 

  1. package fileUpLoad;  
  2.   
  3. import javax.activation.DataHandler;  
  4.   
  5. public class Resume {  
  6.   
  7.     private String candidateName;   
  8.     private String resumeFileType;   
  9.     private DataHandler resume;  
  10.     public String getCandidateName() {  
  11.         return candidateName;  
  12.     }  
  13.     public void setCandidateName(String candidateName) {  
  14.         this.candidateName = candidateName;  
  15.     }  
  16.     public String getResumeFileType() {  
  17.         return resumeFileType;  
  18.     }  
  19.     public void setResumeFileType(String resumeFileType) {  
  20.         this.resumeFileType = resumeFileType;  
  21.     }  
  22.     public DataHandler getResume() {  
  23.         return resume;  
  24.     }  
  25.     public void setResume(DataHandler resume) {  
  26.         this.resume = resume;  
  27.     }  
  28.       
  29. }  


2.........................创建接口类

 

  1. package fileUpLoad;  
  2.   
  3. import javax.jws.WebMethod;  
  4. import javax.jws.WebParam;  
  5. import javax.jws.WebService;  
  6.   
  7. @WebService  
  8. @javax.xml.ws.soap.MTOM  
  9. public interface ResumeUploadService {  
  10.     @WebMethod  
  11.     public void uploadResume(@WebParam(name = "resume") Resume resume);  
  12. }  


3.........................服务端实现类

 

  1. package fileUpLoad;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;  
  8.   
  9. import javax.activation.DataHandler;  
  10.   
  11. public class ResumeUploadServiceImpl implements ResumeUploadService {  
  12.   
  13.     public void uploadResume(Resume resume) {  
  14.   
  15.         System.out.println("1");  
  16.         DataHandler handler = resume.getResume();   
  17.         try {   
  18.             System.out.println("2");  
  19.         InputStream is = handler.getInputStream();   
  20.         OutputStream os = new FileOutputStream(new File("G:\\"   
  21.         + resume.getCandidateName() +"."+   
  22.         resume.getResumeFileType()));   
  23.         byte[] b = new byte[100000];   
  24.         int bytesRead = 0;   
  25.         while ((bytesRead = is.read(b)) != -1) {   
  26.         os.write(b, 0, bytesRead);   
  27.         }   
  28.         System.out.println("3");  
  29.         os.flush();   
  30.         os.close();   
  31.         is.close();   
  32.         } catch (IOException e){  
  33.             e.printStackTrace();          
  34.         }  
  35.     }  
  36. }  


4...........................................发布接口

 

  1. <!-- 实现文件上传接口 -->  
  2. <jaxws:server id="ResumeUpload" serviceClass="fileUpLoad.ResumeUploadService"  
  3.     address="/ResumeUpload">  
  4.     <!-- 添加实现类 -->  
  5.     <jaxws:serviceBean>  
  6.         <ref bean="ResumeUploadServiceImpl" />  
  7.     </jaxws:serviceBean>  
  8.     <!-- 添加协议 使用MTOM附件-->  
  9.     <jaxws:properties>  
  10.         <entry key="mtom-enabled" value="true" />  
  11.     </jaxws:properties>  
  12. </jaxws:server>  

 

5...................................客户端上传类

 

  1. package fileUpLoad;  
  2.   
  3. import java.io.File;  
  4.   
  5. import javax.activation.DataHandler;  
  6. import javax.activation.DataSource;  
  7. import javax.activation.FileDataSource;  
  8.   
  9. import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;  
  10.   
  11. public class UpLoad {  
  12.     public static void main(String[] args) throws Exception {  
  13.           
  14.         String url = "http://localhost:8080/SpringCXF/services/ResumeUpload?wsdl";  
  15.          Resume resume = new Resume();  
  16.          resume.setCandidateName("ss");  
  17.          resume.setResumeFileType("jpg");  
  18.          DataSource source = new FileDataSource(new File("d:\\中国.jpg"));  
  19.          resume.setResume(new DataHandler(source));   
  20.   
  21.          JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();  
  22.            
  23.          factory.setServiceClass(ResumeUploadService.class);  
  24.          factory.setAddress(url);  
  25.          ResumeUploadService client = (ResumeUploadService) factory.create();  
  26.          try {  
  27.              client.uploadResume(resume);  
  28.         } catch (Exception e) {  
  29.             System.out.println("sa");  
  30.         }          
  31.            
  32.          System.out.println("success");  
  33.     }  
  34.   
  35. }  

 

分享到:
评论

相关推荐

    基于spring+cxf实现用户文件传输的webservice

    基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...

    cxf webservice 文件分块上传

    基于以上文件,我们可以推断,这个项目可能包含了一个使用CXF实现的Web服务,服务端包含处理分块文件上传的逻辑,而`wsdl`和`wsdl-src`文件可能描述了服务的接口。客户端可能通过调用这些服务接口,将大文件分割并逐...

    CXF3.0+Spring3.2 传输文件

    本篇文章将深入探讨如何使用CXF3.0.2和Spring3.2.14这两个强大的开源框架来实现文件的传输。CXF是一个流行的Java Web服务框架,而Spring则为应用程序开发提供了全面的框架支持。 首先,让我们了解CXF3.0.2在文件...

    Soap with attachment的cxf实现方法java

    在本次讨论中,我们将详细介绍如何使用Java语言结合Apache CXF框架实现SOAP协议的Web服务调用,重点是如何在调用过程中实现用户权限验证以及附件文件上传的功能。在这一过程中,我们将涉及到的技术点包括SOAP协议的...

    CXF服务端对象文件支持断点传送

    对于文件上传,CXF提供了一种机制,允许客户端将文件发送到服务端。服务端可能需要验证文件、处理文件内容或者将其存储在服务器上。断点传输在此处的作用是,如果文件传输过程中网络出现问题,客户端可以记录已传输...

    CXF之二(上传及下载附件)

    本篇文章将深入探讨如何使用CXF实现文件的上传和下载功能,这对于任何涉及文件交互的应用程序都是至关重要的。 在CXF中,实现文件上传通常涉及到创建一个Web服务接口,该接口接受Multipart请求,这允许用户发送多个...

    cxf客户端(对象,上传与下载文件支持断点传输)

    【标题】:“CXF客户端:对象参数,文件上传下载及断点续传功能” 在Java Web开发中,CXF框架广泛用于实现Web服务,包括SOAP和RESTful接口。本示例着重于CXF客户端如何处理对象参数传递以及支持文件的上传和下载,...

    CXF整合spring 支持restful xml json 上传下载的HelloWorld

    在这个“CXF整合spring 支持restful xml json 上传下载的HelloWorld”示例中,我们将探讨如何实现XML和JSON数据格式的支持,以及文件上传和下载功能。 首先,我们需要在Spring配置文件中声明CXF的Servlet,这样可以...

    cxf rest webservice

    CXF提供了强大的支持来创建RESTful Web服务,使得开发人员能够方便地实现文件下载功能。 【描述】:“CXF REST Web服务实现文件下载” 在CXF中实现RESTful Web服务进行文件下载,主要涉及到以下几个关键步骤: 1....

    CXF应用整理(包括大文件上传MTOM、安全机制)

    本篇文章将深入探讨 CXF 的一些核心功能,包括简单的 HelloWorld 示例、复杂对象的传递、安全机制以及大文件上传(MTOM)。 ### 1. CXF HelloWorld 示例 创建一个简单的 CXF 服务,首先要定义一个服务接口,使用 `...

    Apache CXF文件目录结构及需要jar包

    在`commons-fileupload.txt`这个文件中,很可能列出了使用Apache CXF进行文件上传时需要的`commons-fileupload`库的具体版本信息。 总之,理解Apache CXF的文件目录结构和依赖关系对于有效地开发和部署Web服务至关...

    上传一个最简单的cxf结合spring的Java WebService例子

    5. **创建Web应用**:将项目打包为WAR文件,部署到支持Servlet 3.0的Web服务器,如Tomcat。在`web.xml`中配置CXF的Servlet监听器: ```xml &lt;servlet-name&gt;CXFServlet &lt;servlet-class&gt;org.apache.cxf.transport....

    CXF WebService实例

    CXF提供了处理MIME多部分请求的能力,这使得我们可以方便地实现文件上传。你需要创建一个服务方法,接收`multipart/form-data`类型的请求,从中提取文件内容。对于文件下载,你可以返回一个包含文件内容的`...

    CXF各种资料.rar

    "WebService之CXF开发指南.doc", "Cxf应用整理.doc", "CXF+WebService+-+release.docx", "基于spring+cxf实现用户文件传输的webservice.docx"是关于CXF的详细学习文档,涵盖了从基础概念到高级特性的讲解,以及具体...

    CXF2.7.10 ftp资源上传

    它定义了如何控制文件传输,包括登录、目录浏览、文件上传和下载等操作。 3. **CXF与FTP集成**:CXF通过提供FTP客户端库,使开发人员能够将FTP服务整合进他们的应用程序中。这样,用户可以通过CXF接口执行FTP命令,...

    CXF 使用实例集成

    这个集成实例主要展示了如何使用CXF来创建和消费Web服务,包括设置输入和输出拦截器、用户验证以及文件上传等功能。让我们深入探讨一下这些知识点。 1. **CXF 创建 Web Service** - **服务接口定义**:首先,我们...

    CXF WebServices整合SSH2和Uploadify上传控件

    3. **客户端开发**:使用jQuery和Uploadify插件,构建用户界面,实现文件选择和上传功能。Uploadify会通过AJAX调用CXF Web服务的上传接口,将文件发送到服务端。 4. **跨服务器部署**:为了测试和实际运行,服务端...

    部署cxf服务到was7的步骤

    1. **上传WAR文件**:通过WebSphere控制台上传构建好的WAR文件。 2. **配置应用程序**:在应用程序配置页面,根据需要设置应用程序的上下文路径等相关参数。 3. **配置数据源(可选)**:如果CXF服务需要连接数据库...

    CXF3.0.2+Spring3.2.14 WebService入门实例四

    10. **测试与调试**:为了确保服务的正确性,可以编写JUnit测试用例,模拟客户端进行文件上传和下载,检查结果是否符合预期。同时,使用CXF提供的工具,如CXF wsdl2java,生成客户端代码,便于调试和测试。 通过这...

Global site tag (gtag.js) - Google Analytics