最近使用webservice 做平台接口,SOA那边要求有有文件传输的东西,类型javax.activation.DataHandler
我数据库用的oracle ,类型blob.orm 框架 是hibernate .
文件对应的字段是:
private Blob fileContent;
@Lob
@Column(name = "FILE_CONTENT")
public Blob getFileContent() {
return this.fileContent;
}
转换方法:
先转换成二进制流
InputStream in = 文件对象.getFileContent().getBinaryStream();
然后穿件一个数组,可以一次放入的,当然可以自己优化大小
byte[] buff = new byte[(int) 文件对象.getFileContent().length()];
// 这里我是先写入一个临时文件
File file = new File("../temp_"+文件名)
OutputStream output = new FileOutputStream(file);
BufferedOutputStream bufferedOutput = new BufferedOutputStream(output);
bufferedOutput.write(buff);
// 这里刷进去,不然老写不完。。
bufferedOutput.flush();
这里创建 handdler 对象,当然也可以直接根据路径资源创建。自己看API
DataHandler handler = new DataHandler(new FileDataSource(file));
剩下的事情就是 webservice 传输对象,组织参数什么的了,,,
因为我一次可能多个文件,所以我写的循环,将File 以及Stream 保存起来,然后发送完了之后,在
fially {} 里面进行了 流的关闭,以及临时文件的删除。file.delete() .有更好的方式欢迎提供。
小结:
1. 这个功能比较普通使用,因为只要你拿到文件数据 或者二进制数据,JAVA io 各种流的相互转换这里就不在累赘了。
2.当然如果使用axis,xfire,jws 等东西,我就不确定了,需要尝试。我这里使用是cxf2.3.1 JDK1.6
3.文件传输还要注意 环境以及编码的问题,这个大家做的时候也要注意一下,而且这种传输不宜传大文件,最好别超过10M
相关推荐
Apache CXF 是一个开源框架,用于构建和开发服务导向架构(SOA)的应用程序。它支持多种Web服务标准,包括SOAP、RESTful API、WS-* 规范等,使得开发者能够方便地创建和消费Web服务。在本教程中,我们将深入探讨如何...
CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和服务导向架构(SOA)。CXF允许开发人员通过多种Web服务协议(如SOAP、RESTful HTTP、XML/HTTP等)来创建和消费Web服务。在这个...
- **社区支持**:作为一个活跃的开源项目,Apache CXF拥有庞大的开发者社区,遇到问题时可以获取到及时的技术支持和解决方案。 在解压后的"apache-cxf-2.7.11"文件中,你将找到以下组件和资源: - **bin目录**:...
通过下载并解压"apache-cxf-3.0.0-milestone2.zip",开发者可以获得Apache CXF 3.0.0的源码、库文件、文档和示例,以便于学习、定制和部署自己的Web服务解决方案。在实际使用中,开发者可以根据需要选择合适的组件和...
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字是"CXF"的首字母缩写,它代表了两个早期的项目——Celtix和XFire的融合。CXF2.5.10是该框架的一个特定版本,发布于2014...
CXF(CXF:CXF stands for "CXF XFire", where XFire was its predecessor)是一个开源的Java框架,主要用于构建和服务导向架构(SOA)应用程序。它提供了一个全面的工具集来支持Web服务和RESTful API的开发、部署和...
使用这些JAR文件,开发者可以构建完整的Web服务解决方案,从服务端的实现到客户端的调用,包括服务的安全性、传输、数据绑定和各种协议的支持。同时,由于这些JAR文件是官方Apache CXF项目提供的,因此可以确保与CXF...
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。这个"**cxf-2.7.18**"版本是CXF项目的一个特定发布,它包含了该框架在2.7.x系列中的第18次更新。CXF允许开发者创建和消费各种Web...
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.1.3.zip"压缩包包含了该框架的版本2.1.3的所有组件和资源,使得开发者可以便捷地在他们的项目中集成和使用CXF。 ...
8. **CXF的优势**:CXF不仅支持标准的SOAP,还支持RESTful风格的服务,提供了一体化的解决方案。此外,CXF的注解驱动模型使得Web服务的开发更加简洁,降低了学习曲线。 总结,本篇学习笔记通过一个简单的CXF服务端...
在IT行业中,尤其是在Java Web开发领域,Apache CXF是一个广泛使用的开源框架,它用于构建和服务导向架构(SOA)的应用程序。CXF允许开发者通过多种Web服务标准来创建和消费Web服务,包括SOAP和RESTful服务。然而,...
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"**cxf-2.4.3.jar**"文件是CXF项目的一个特定版本,即2.4.3版本的归档包。在Java开发中,JAR(Java Archive)文件是一种...
Apache CXF是一个开源的Java框架,主要用于构建和服务导向架构(SOA)的应用程序。CXF允许开发者创建和部署Web服务,并且支持多种Web服务标准,如SOAP、RESTful HTTP、WS-*等。"cxf-tools-common-2.5.10"可能包含了...
Apache CXF是一个开源的Web服务框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache-cxf-2.1.4.tar.zip webservice"文件包含了一个特定版本(2.1.4)的CXF框架,用于创建和消费Web服务。让我们...
例如,可以使用CXF的MTOM(Message Transmission Optimization Mechanism)功能优化大数据传输,或者利用WS-Security实现安全控制。 总结,CXF框架为Java开发者提供了强大且灵活的Web Service解决方案,无论是SOAP...
Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.9.zip"压缩包包含了Apache CXF 2.5.9版本的源代码、库文件和其他相关资源。在...
在IT行业中,尤其是在Java Web开发领域,Apache CXF是一个广泛使用的开源框架,它用于构建和服务导向架构(SOA)的应用程序。CXF提供了SOAP和RESTful Web服务的支持,并且允许开发者轻松地创建和消费Web服务。然而,...
- **可扩展**:CXF的设计非常灵活,支持多种插件和扩展点,方便用户根据需求定制自己的解决方案。 - **直观易用**:CXF提供了简洁明了的API和工具链,使得开发者能够快速上手并高效开发。 #### 四、CXF支持的标准和...
CXF支持多种消息格式和传输协议,如SOAP、XML通过HTTP或JMS,以及多种模型,如JAX-WS、JBI、SCA和CORBA服务。此外,它还具有高度的灵活性,可以部署在Spring基础的容器、JBI、SCA、Servlet和J2EE容器中。 在开始...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.9"版本是该框架的一个旧版本,发布于2013年。在这个版本中,CXF提供了...