CXF处理不规则SOAP message
2011-03-04 11:05:14| 分类: java | 标签: |字号大中小 订阅
在CXF ChainInitiationObserver 类的onMessage(Message)方法里修改 SOAP message。
修改 ChainInitiationObserver 类:
addToChain(phaseChain, message);
//新增代码
InputStream is = message.getContent(InputStream.class);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String inputLine;
String pisinfo = "";
while ((inputLine = br.readLine()) != null) {
if(inputLine.indexOf("<IfService")>0){
inputLine=" <tns:IfService xmlns:tns=\"http://service.jsict.com/\">";
}
if(inputLine.indexOf("</IfService")>0){
inputLine=" </tns:IfService>";
}
pisinfo=pisinfo+inputLine+"\r\n";
}
System.out.println(pisinfo);
ByteArrayInputStream bais= new ByteArrayInputStream(pisinfo.getBytes());
CachedOutputStream bos = new CachedOutputStream();
IOUtils.copy(bais, bos);
bos.flush();
bais.close();
is.close();
message.setContent(InputStream.class, bos.getInputStream());
//新增代码结束,下接原始代码
phaseChain.doIntercept(message);
分享到:
相关推荐
- MTOM (Message Transmission Optimization Mechanism) 是一种在SOAP消息中传输二进制数据的方法,能够显著提高传输效率。 - 如何利用MTOM机制来优化大文件传输过程,提高性能。 6. **单元测试**: - Web服务的...
SOAP消息通常包含四个部分:封装(Envelope)、编码规则(Encoding Rules)、RPC表示(RPC Representation)和绑定(Binding),这些部分协同工作以实现消息的发送和接收。 【WSDL与服务描述】 WSDL是SOAP服务的...
- **核心特性**:基于EIP(Enterprise Integration Patterns)原则构建,支持多种传输协议(如file, FTP, UDP, SMTP, HTTP, SOAP, JMS等),并且整合了多个流行的开源项目(如Spring, ActiveMQ, CXF, Axis, Drools等...
在这个项目中,我们可以看到开发者使用了CXF、JMS、测试、事务管理、类型转换以及并发和异步处理等核心概念和技术。 1. **CXF**: Apache CXF是一个开源服务框架,主要用于构建和部署Web服务。它支持SOAP、RESTful、...
- **高度可定制化:** 用户可以根据需求自定义UMO(Universal Message Objects),虽然这一概念已被Component取代。 - **高效性和易用性:** Mule强调高性能的同时也注重开发效率。 3. **Mule ESB的应用** - ...
Mule支持超过20种的传输协议,包括但不限于文件系统访问、FTP、UDP、SMTP、POP、HTTP、SOAP、JMS等,这使得Mule能够无缝连接各种不同的数据源,如Spring框架、ActiveMQ、CXF、Axis、Drools等。 值得注意的是,Mule...