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
相关推荐
cxf rest webervice 实现文件下载
CXF WebService java实例 例子包括基本的 HelloWord列子 还有传递List ,Map的列子 另外还有webservice 文件下载上传的示例
NULL 博文链接:https://openstudy.iteye.com/blog/1048441
CXF webservice 使用实例,CXF创建webservice以及调用示例;WEBSERVICE输入、输出拦截器设置;用户验证;文件上传等。附带所有使用到的JAR包。
cxf与spring的整合, 并且通过WebService下载附件
NULL 博文链接:https://ajita.iteye.com/blog/1740754
上传的文件是springMVC框架整合Hibernate3和CXF的系统,里面有关于springMVC利用cxf发布webservice和调用接口的详细代码,后台用annotation注解关联数据库,dao层完美封装,架构层次分明,用不到cxf的可以到这个链接...
基于cxf,能够调用第三方天气接口,服务端接口可以传输普通字符串、json字符串、文件上传和下载功能,满足基本的开发需求
4. 文件上传、多线程下载服务化、发送邮件、短信服务化、部门信息服务化、产品信息服务化、信息发布服务化、我的订阅服务化、我的任务服务化、公共链接、我的收藏服务化等 系统模块: 1. 用户管理: 用户信息...
基于SpringBoot + Spring + Apache CXF +Mybatis 开发SOAP的 WebService 服务 # 备注 | **版本** | **说明**| | ------ |:------:| | 1.0.0版本| | | 2.0.0版本|springboot启动| # 原理 Mybatis基于动态代理实现...
CxfWevservice数据库补充,前面上传的文件里面的数据库错了,少了张表,补允上传一下,已经下载的朋友对不住了
静态资源主要是指应用层中展现层中所要使用到的静态资源文件,以及由用户在业务操作中产生的文件等,如图片、上传的文件等; 而动态数据是指用户在使用平台的过程中所产生的业务数据,在实现业务中,这部分数据大...
webservice里面的框架技术 cxf生成一个沟通接口的桥梁,然后新建一个沟通桥梁的类,再通过配置相关的配置文件及jar包就可以调用出接口中的数据,之后选中一条数据,并输入收件人的邮箱 ,点击发送后,我们会将收件人...