CXF之七 传输文件

CXF的文件传输通过MTOM实现。MTOM(SOAP Message Transmission Optimization Mechanism)SOAP消息传输优化机制,可以在SOAP消息中发送二进制数据。MTOM允许将消息中包含的大型数据元素外部化,并将其作为无任何特殊编码的二进制数据随消息一起传送。相对于把二进制转为base64进行传输,MTOM具有更高的传输效率。

文件传输包装类

CXF文件传输DataHandler只有二进制数据,没有文件名、文件类型和文件大小等,需要额外的传输参数。通常自定义文件传输包装类来传输二进制和额外参数。

package com.study.cxffile;

import javax.activation.DataHandler;
import javax.xml.bind.annotation.XmlMimeType;
import javax.xml.bind.annotation.XmlType;

/**
 * CXF上传和下载文件对象包装类 由于CXF的DataHandler无法获取文件名和文件类型,需要在上传和下载时附带文件名
 */
@XmlType(name = "CxfFileWrapper")
public class CxfFileWrapper {
    // 文件名
    private String fileName;
    // 文件扩展名
    private String fileExtension;
    // 文件二进制数据
    private DataHandler file;

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileExtension() {
        return fileExtension;
    }

    public void setFileExtension(String fileExtension) {
        this.fileExtension = fileExtension;
    }

    // 注解该字段为二进制流
    @XmlMimeType("application/octet-stream")
    public DataHandler getFile() {
        return file;
    }

    public void setFile(DataHandler file) {
        this.file = file;
    }
}

服务端

文件传输服务接口

package com.study.cxffile.ws;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import com.study.cxffile.CxfFileWrapper;

@WebService(name = "FileWS", targetNamespace = "http://www.hellocxffile.com/services/file")
public interface FileWS {
    
    /**
     * 文件上传
     * @param file 文件上传包装类
     * @return 上传成功返回true,上传失败返回false。
     */
    @WebMethod
    boolean upload(@WebParam(name = "file") CxfFileWrapper file);

    /**
     * 文件下载
     * @return 文件
     */
    @WebMethod
    CxfFileWrapper download();
}

文件传输服务实现类

package com.study.cxffile.ws.impl;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.jws.WebService;

import org.springframework.stereotype.Service;

import com.study.cxffile.CxfFileWrapper;
import com.study.cxffile.ws.FileWS;

@WebService(endpointInterface = "com.study.cxffile.ws.FileWS", portName = "FileWSPort", serviceName = "FileWSService", targetNamespace = "http://www.hellocxffile.com/services/file")
@Service("fileWS")
public class FileWSImpl implements FileWS {

    @Override
    public boolean upload(CxfFileWrapper file) {
        boolean result = true;

        OutputStream os = null;
        InputStream is = null;
        BufferedOutputStream bos = null;

        try {
            is = file.getFile().getInputStream();

            // 文件在服务器上的保存位置
            File dest = new File("e:\\testTemp\\" + file.getFileName());

            os = new FileOutputStream(dest);
            bos = new BufferedOutputStream(os);

            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = is.read(buffer)) != -1) {
                bos.write(buffer, 0, len);
            }

            bos.flush();

        } catch (Exception e) {
            e.printStackTrace();
            result = false;
        } finally {
            if (bos != null) {
                try {
                    bos.close();
                } catch (Exception e) {
                }
            }

            if (os != null) {
                try {
                    os.close();
                } catch (Exception e) {
                }
            }

            if (is != null) {
                try {
                    is.close();
                } catch (Exception e) {
                }
            }
        }

        return result;
    }

    @Override
    public CxfFileWrapper download() {
        // 下载文件的路径
        String filePath = "E:\\testTemp\\cxfspringdemo1-0.0.1-SNAPSHOT.war";

        CxfFileWrapper fileWrapper = new CxfFileWrapper();
        fileWrapper.setFileName("cxfspringdemo1-0.0.1-SNAPSHOT.war");
        fileWrapper.setFileExtension("war");

        DataSource source = new FileDataSource(new File(filePath));
        fileWrapper.setFile(new DataHandler(source));

        return fileWrapper;
    }

}

spring配置beans.xml

xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">

    

    
    <context:component-scan base-package="com.study" />
beans>

服务端配置文件,需要在Endpoint配置中开启MTOM,cxf-servlet.xml

xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    xmlns:soap="http://cxf.apache.org/bindings/soap"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd 
        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

    
    <jaxws:endpoint id="fileWSEndpoint" implementor="#fileWS"
        address="/file">
        <jaxws:inInterceptors>
            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor">bean>
        jaxws:inInterceptors>
        <jaxws:outInterceptors>
            <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor">bean>
        jaxws:outInterceptors>
        <jaxws:properties>
            
            <entry key="mtom_enabled" value="true">entry>
        jaxws:properties>
    jaxws:endpoint>
beans>

打成war包部署到tomcat8上。

工程结构:

CXF之七 传输文件_第1张图片

 

客户端

生成客户端代码:

wsimport -encoding utf-8 -d D:\dev\wsdl\cxffile\wsimport\compile -s D:\dev\wsdl\cxffile\wsimport\src -p com.study.cxffileclient http://localhost:8080/cxffile-0.0.1-SNAPSHOT/services/file?wsdl

CXF之七 传输文件_第2张图片

将生成的源码拷贝到client端的maven工程中。

客户端下载文件

package com.study.cxffileclient;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

/**
 * Hello world!
 *
 */
public class Client {
    public static void main(String[] args) {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setServiceClass(FileWS.class);
        factory.setAddress("http://localhost:8080/cxffile-0.0.1-SNAPSHOT/services/file?wsdl");

        FileWS fileWS = factory.create(FileWS.class);
        CxfFileWrapper fileWrapper = fileWS.download();

        OutputStream os = null;
        InputStream is = null;
        BufferedOutputStream bos = null;

        try {
            is = fileWrapper.getFile().getInputStream();

            // 文件在客户端的保存位置
            File dest = new File("d:\\dev\\download\\" + fileWrapper.getFileName());

            os = new FileOutputStream(dest);
            bos = new BufferedOutputStream(os);

            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = is.read(buffer)) != -1) {
                bos.write(buffer, 0, len);
            }

            bos.flush();
            System.out.println("下载完成");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (bos != null) {
                try {
                    bos.close();
                } catch (Exception e) {
                }
            }

            if (os != null) {
                try {
                    os.close();
                } catch (Exception e) {
                }
            }

            if (is != null) {
                try {
                    is.close();
                } catch (Exception e) {
                }
            }
        }
    }
}

结果:

十一月 03, 2016 3:39:05 下午 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http://www.hellocxffile.com/services/file}FileWSService from class com.study.cxffileclient.FileWS
下载完成

 

客户端上传文件

package com.study.cxffileclient;

import java.io.File;

import javax.activation.DataHandler;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import javax.activation.FileDataSource;

public class ClientUpload {

    public static void main(String[] args) {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setServiceClass(FileWS.class);
        factory.setAddress("http://localhost:8080/cxffile-0.0.1-SNAPSHOT/services/file");
        factory.getInInterceptors().add(new org.apache.cxf.interceptor.LoggingInInterceptor());

        //factory.getOutInterceptors().add(new AuthAddInterceptor());
        factory.getOutInterceptors().add(new org.apache.cxf.interceptor.LoggingOutInterceptor());

        FileWS fileWS = factory.create(FileWS.class);

        CxfFileWrapper fileWrapper = new CxfFileWrapper();
        fileWrapper.setFileName("cxffile-0.0.1-SNAPSHOT.war");
        fileWrapper.setFileExtension("exe");

        String filePath = "D:\\dev\\upload\\cxffile-0.0.1-SNAPSHOT.war";
        //String filePath = "e:\\temp\\项目产出文档模板.zip";
        FileDataSource source = new FileDataSource(new File(filePath));
        fileWrapper.setFile(new DataHandler(source));

        boolean success = fileWS.upload(fileWrapper);
        System.out.println(success ? "上传成功!" : "上传失败!");

    }

}

结果:

十一月 03, 2016 3:46:57 下午 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http://www.hellocxffile.com/services/file}FileWSService from class com.study.cxffileclient.FileWS
十一月 03, 2016 3:46:59 下午 org.apache.cxf.services.FileWSService.FileWSPort.FileWS
信息: Outbound Message
---------------------------
ID: 1
Address: http://localhost:8080/cxffile-0.0.1-SNAPSHOT/services/file
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml
Headers: {Accept=[*/*], SOAPAction=[""]}
Messages: (message truncated to 49152 bytes)

Payload: http://schemas.xmlsoap.org/soap/envelope/">http://www.hellocxffile.com/services/file">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
--------------------------------------
十一月 03, 2016 3:46:59 下午 org.apache.cxf.services.FileWSService.FileWSPort.FileWS
信息: Inbound Message
----------------------------
ID: 1
Response-Code: 200
Encoding: UTF-8
Content-Type: text/xml;charset=UTF-8
Headers: {content-type=[text/xml;charset=UTF-8], Date=[Thu, 03 Nov 2016 07:46:59 GMT], Server=[Apache-Coyote/1.1], transfer-encoding=[chunked]}
Payload: http://schemas.xmlsoap.org/soap/envelope/">http://www.hellocxffile.com/services/file">true
--------------------------------------
上传成功!

 CXF之七 传输文件_第3张图片

 

注意事项

CXF不能传输大文件,否则会提示内存溢出。 
CXF之七 传输文件_第4张图片

你可能感兴趣的:(CXF之七 传输文件)