cxf附件传递:
spring配置文件:
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:cxf="http://cxf.apache.org/core"
xmlns:wsa="http://cxf.apache.org/ws/addressing"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!-- 注解注入bean -->
<context:component-scan base-package="ws.upload" />
<cxf:bus>
<cxf:features>
<!--日志拦截功能,用于监控soap内容,开发后可以删除 -->
<cxf:logging/>
<wsa:addressing/>
</cxf:features>
</cxf:bus>
<jaxws:endpoint id="fileUploadWebServiceEndpoint"
implementor="#fileUploadWebService"
address="/uploadwebservice" >
<jaxws:properties>
<!--开启mtom附件功能 -->
<entry key="mtom-enabled" value="true"/>
</jaxws:properties>
</jaxws:endpoint>
</beans>
服务接口就不说了,直接贴实现类:
package ws.upload;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.activation.DataHandler;
import javax.jws.WebService;
import org.springframework.stereotype.Service;
@WebService(endpointInterface="ws.upload.IFileUploadWebService")
@Service("fileUploadWebService")
public class FileUploadWebServiceImp implements IFileUploadWebService {
@Override
public void upload(DataHandler dataHandler) {
try {
InputStream is=dataHandler.getInputStream();
byte[] temp=new byte[1024];
File file=new File("c:\\a.sql");
OutputStream os=new FileOutputStream(file);
int length=-1;
while((length=is.read(temp))!=-1){
System.out.println(length);
os.write(temp);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
就完成服务段的编程了。
客户段附件里有。有兴趣的看一看看。
如果想了解mtom,可以看下面连接
http://boyingking.blog.sohu.com/27075328.html
分享到:
相关推荐
本篇文章将深入探讨 CXF 的一些核心功能,包括简单的 HelloWorld 示例、复杂对象的传递、安全机制以及大文件上传(MTOM)。 ### 1. CXF HelloWorld 示例 创建一个简单的 CXF 服务,首先要定义一个服务接口,使用 `...
MTOM是一种优化SOAP消息传输的方式,它可以有效地处理XML中的二进制内容,如图像、PDF文件等,通过不编码整个消息来减少网络传输的负载。 首先,我们来了解WCF和CXF。WCF是.NET Framework的一部分,提供了一种用于...
8. **MTOM/XOP**:CXF支持Message Transmission Optimization Mechanism (MTOM)和XML Inclusion (XOP),这两种技术可以提高大附件传输的效率。 9. **测试工具**:CXF提供了丰富的测试工具,如CXF TestSuite,可以...
5. **安全机制**:CXF提供了丰富的安全特性,包括WS-Security(Web Services Security)、MTOM(Message Transmission Optimization Mechanism)和SWA(SwA Attachments,用于处理二进制附件的安全传输)等,确保...
在CXF中,启用MTOM可以显著减少网络传输的数据量,因为它允许将大附件作为链接发送,而不是内嵌在SOAP消息中。在示例工程中,你可以看到如何配置CXF并创建服务来利用MTOM技术,提高服务性能。 4. **基本数据类型...
1. **Web服务开发**:CXF提供了两种主要的方式来创建Web服务——JAX-WS和JAX-RS。JAX-WS是基于WSDL(Web服务描述语言)的,适合创建SOAP服务,而JAX-RS则支持RESTful风格的服务。 2. **WSDL第一**和**代码第一**:...
- **SwA**(SOAP with Attachments)是另一种处理二进制附件的方法,CXF也提供了支持。 6. **CXF工具集**: CXF提供了一系列工具,如wsdl2java和java2wsdl,用于在WSDL(Web服务描述语言)和Java代码之间互相转换...
5. **MTOM/XOP**:CXF实现了Message Transmission Optimization Mechanism (MTOM) 和 XML-binary Attachment Optimization Protocol (XOP),这使得大文件传输更有效率,因为它可以在XML消息中引用二进制附件而不是...
MTOM是一种优化XML附件内容传输的方式,它允许二进制大对象以二进制的形式在SOAP消息中传输,而不是将它们编码为XML,这样可以显著减小SOAP消息的大小。 通过添加自定义拦截器,我们可以在SOAP消息发送之前处理权限...
4. **协议支持**:CXF不仅支持基本的HTTP和HTTPS,还支持诸如MTOM(Message Transmission Optimization Mechanism)和SWA(Simple Web Attachment)等附件传输机制,以及WS-Security等安全标准。 5. **集成能力**:...
- MTOM文件传输:MTOM(Message Transmission Optimization Mechanism)是一种优化SOAP消息中大型附件传输的技术。 - Jax-Rs异步调用:支持异步方式调用WebService,提高应用性能和用户体验。 - Cxf拦截器特征...
3. **多种协议支持**:CXF支持HTTP、HTTPS、JMS等多种传输协议,还支持MTOM(Message Transmission Optimization Mechanism)和SwA(Soap with Attachments)等附件处理方式。 4. **数据绑定**:CXF提供XML到Java...
5. **丰富的功能**:支持MTOM(Message Transmission Optimization Mechanism)、SwA(SwA Attachments,用于传递二进制附件)、WS-Security等高级特性。 **CXF文档资源** 帮助文档是学习和使用CXF的关键。CXF的...
CXF提供了丰富的API和插件支持,如MTOM(Message Transmission Optimization Mechanism)用于优化大附件传输,或者WS-Security用于安全认证。 此外,CXF还支持RESTful Web服务。对于RESTful服务,我们可以使用`...
6. MTOM(Message Transmission Optimization Mechanism)和SWA(Simple Object Access Protocol over Attachments):优化XML消息传输,支持二进制附件。 `apache-cxf-2.2.8-src.zip`包含了源代码,对于开发者来说...
在SOAP消息中,附件的处理是通过MTOM(Message Transmission Optimization Mechanism)或SwA(SOAP with Attachments)来实现的,这两种机制都是为了在SOAP消息中有效地传输二进制数据,如图片、文档等。 MTOM是一...
1. **SOAP处理**:Axis2能够处理各种SOAP消息,支持SOAP 1.1和1.2规范,包括处理附件(MTOM和SwA)和WS-Addressing等扩展。 2. **模块化架构**:Axis2采用模块化设计,允许开发者按需选择和组合功能,比如安全、...
【myCxf】项目是一个基于Apache CXF和Spring框架实现的MTOM(Message Transmission Optimization Mechanism)示例。Apache CXF是一个开源服务框架,它允许开发者构建和消费各种Web服务,而MTOM是一种用于优化SOAP...
- **SAAJ** (SOAP with Attachments API for Java) 提供了操作SOAP消息的能力,尤其是在处理带有附件的消息时。 - **JAX-WS API** 主要位于`javax.xml.ws.*`包中,包括大量注解,用于操作Web服务。 - **WS-Metadata*...