为什么80%的码农都做不了架构师?>>>   

1.客户端调用webservice工具类

package cn.net.sunge.oas_dep.utils;import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import java.util.Map;import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.transport.http.HTTPConduit;import cn.net.sunge.oas_dep.modules.webservice.model.FileEntity;public class WsClientUtil {public static <T> T getInterface(Class<T> clazz, String address) {return getInterface(clazz, address, null);}@SuppressWarnings("unchecked")public static <T> T getInterface(Class<T> clazz, String address, Map<String, Object> properties) {JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();factory.setAddress(address);factory.setServiceClass(clazz);if (null != properties) {factory.setProperties(properties);}return (T) factory.create();}public static <T> T getHttpsInterface(Class<T> clazz, String address, String jksPath, String jksPwd) {return getHttpsInterface(clazz, address, jksPath, jksPwd, null);}@SuppressWarnings("unchecked")public static <T> T getHttpsInterface(Class<T> clazz, String address, String jksPath, String jksPwd, Map<String, Object> properties) {JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();factory.setAddress(address);factory.setServiceClass(clazz);if (null != properties) {factory.setProperties(properties);}T t = (T) factory.create();configureSSLOnTheClient(t, jksPath, jksPwd);return t;}private static void configureSSLOnTheClient(Object obj, String jksPath, String jksPwd) {File file = new File(jksPath);Client client = ClientProxy.getClient(obj);HTTPConduit httpConduit = (HTTPConduit) client.getConduit();try {TLSClientParameters tlsParams = new TLSClientParameters();tlsParams.setDisableCNCheck(true);KeyStore keyStore = KeyStore.getInstance("JKS");String password = jksPwd;String storePassword = jksPwd;keyStore.load(new FileInputStream(file), storePassword.toCharArray());TrustManagerFactory trustFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());trustFactory.init(keyStore);TrustManager[] trustManagers = trustFactory.getTrustManagers();tlsParams.setTrustManagers(trustManagers);keyStore.load(new FileInputStream(file), storePassword.toCharArray());KeyManagerFactory keyFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());keyFactory.init(keyStore, password.toCharArray());KeyManager[] keyManagers = keyFactory.getKeyManagers();tlsParams.setKeyManagers(keyManagers);// FiltersType filtersTypes = new FiltersType();// filtersTypes.getInclude().add(".*_EXPORT_.*");// filtersTypes.getInclude().add(".*_EXPORT1024_.*");// filtersTypes.getInclude().add(".*_WITH_DES_.*");// filtersTypes.getInclude().add(".*_WITH_NULL_.*");// filtersTypes.getExclude().add(".*_DH_anon_.*");// tlsParams.setCipherSuitesFilter(filtersTypes);tlsParams.setDisableCNCheck(true);httpConduit.setTlsClientParameters(tlsParams);} catch (Exception e) {e.printStackTrace();}}/*** Construct FileEntity.* * @param the*            real file path.* @return FileEntity.*/public static FileEntity constructFileEntity(String filePath) {// construct FileEntityFileEntity fileEntity = new FileEntity();File file = new File(filePath);fileEntity.setFileName(file.getName().substring(0, (file.getName().lastIndexOf("."))));fileEntity.setFileType(filePath.substring(filePath.lastIndexOf(".") + 1));DataSource source = new FileDataSource(file);DataHandler handler = new DataHandler(source);fileEntity.setFile(handler);return fileEntity;}
}

2.调用Util

Map<String, Object> properties = Maps.newHashMap();
properties.put("mtom-enabled", true);
IntranetFileWebserviceI intranetFileWebservice = WsClientUtil.getIntranetInterface(IntranetFileWebserviceI.class, IntranetFileWebserviceI.address, properties);

参考资料:

http://yanghui-java.iteye.com/blog/1747643

转载于:https://my.oschina.net/u/859228/blog/534232

关于CXF大文件的传输问题相关推荐

  1. 零拷贝、如何实现零拷贝、大文件如何传输

    9.零拷贝 9.1.为什么要有DMA技术? 1.在没有 DMA 技术前,I/O 的过程: CPU 发出对应的指令给磁盘控制器,然后返回: 磁盘控制器收到指令后,于是就开始准备数据,会把数据放⼊到磁盘控 ...

  2. c语言socket通讯和进行进行大文件分片传输

    c语言socket通讯和进行进行大文件分片传输 server端代码和client端代码 在windows上创建Cygwing工程11socket-server,创建完成后启动工程看不到效果,必须放到l ...

  3. 大文件如何传输,大文件的传输方式有哪些?

    如今,发送数GB大小的文件变得越来越普遍,影视行业传输需求,单个图像可以高达几十MB,而常规视频可超过100MB: PPT演示文稿等文件传输,中经常使用视频和图像,因此这些类型的媒体文件附件也较大: ...

  4. 大文件的传输方案(scp以及文件切割)

                                                      大文件的传输方案(scp以及文件切割) 首先,我们需要明确什么样的文件算是大文件.通常情况下是以4G ...

  5. 异地大文件传输、大文件远程传输便捷方式

    大文件远程传输时,一般很多人会选择使用U盘或者移动硬盘在两地进行传递.但万一忘记带移动存储设备了呢?如果选择邮箱.QQ等又需要经历漫长的等待时间,还有可能遇到附件过大小限制.传输中断等问题. 那么,异 ...

  6. 大文件数据安全传输如何做到!

    目前企业文件型数据量激增,但当下众多企业还通常使用邮件.IM工具.FTP.网盘等常规方式进行文件传输,当文件容量增大,网络环境变差时,文件传输和数据交换效率低下,安全性差.如果文件更大时,通常会采用快 ...

  7. 迁移服务器时 大文件快速传输的办法

    1.原来公司的服务器架构不足以支撑公司的运营数据 然后在阿里运维工程师的建议下和推荐下,我们更换我们现有的架构,更换归更换 但是数据的迁移怎么办呢,现在的一个表数据高达千万一个库达到几个G 代码压缩之 ...

  8. Windows Socket编程之TCP实现大文件的传输

    前言: UDP版本可参考被人博客: http://blog.csdn.net/luchengtao11/article/details/71016222 本文所述代码工程托管在Github: http ...

  9. Python一行命令实现5G大文件快速传输(Windows Linux Mac)

    前言 之前需要在局域网下获取一个5G左右的ISO文件,U盘发现格式文件为FAT,不能存储单个4G文件,于是想到了之前的这个命令,挺简单方便快捷,一分钟传输下载完成. A电脑在需要传送的文件夹下: py ...

最新文章

  1. WCF 第十三章 可编程站点 所有都与URI相关
  2. mysql+keepalived必须要lvs吗_MySQL 双主热备 + LVS + Keepalived 高可用操作记录
  3. 合唱队(最长子序列问题)
  4. 12-openldap使用AD密码
  5. 中控指纹采集器开发指纹识别项目(说明)
  6. 一个简洁的个人导航页面源码
  7. nginx中的共享内存的3种方式
  8. mysql 主命令总结
  9. python deque索引超出范围_python的常用内建模块与常用第三方模块
  10. list中随机获取n条、随机生成4位6位数工具类,1-n范围随机数,Math.random()生成随机数
  11. Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
  12. c语言+Easy X图形库实现飞机大战,源码加素材
  13. pscp实现windows和linux之间互传文件
  14. 微信小程序 wx.previewImage 预览分享图片结束之后 执行事件
  15. ios申请企业开发者账号的代理_2020年苹果ios企业开发者账号的申请流程攻略(最专业详细)...
  16. 【MySQL数据库】笔试题总结
  17. FusionCharts报表
  18. win 10网信政府版 无法登录微软账号
  19. 兄弟连PHP学习套装,2010年限期促销!
  20. Java编程思想读书笔记——初始化与清理(二)

热门文章

  1. linux 卸载skype,如何将Skype与Ubuntu Unity集成 | MOS86
  2. adobe stream的最后一行空行_玩转Java8Stream(五、并行Stream)
  3. mysql窗口界面表格式手工录入_mysql手工注入
  4. matlab调用手机摄像头,MATLAB下使用摄像头
  5. thinkphp开发的活动报名小程序源码带后台管理完整的报名小程序源码
  6. 量数据导出Excel 之 多重影分身之术
  7. PTVS 安装操作指南
  8. 渗透之cookie截取
  9. Perl 第三章 操作符
  10. Install Google Chrome using Apt-Get in Ubuntu