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);
分享到:
相关推荐
1. **CXF Interceptors机制**:CXF采用了一种基于拦截器的架构,允许开发者在消息处理的不同阶段插入自定义的行为。这些拦截器可以被用来执行各种任务,比如安全检查、日志记录等。 2. **Logging Message**:CXF内部...
<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"/>
标题 "cxf-soap内容解析、更改(助记)" 指向的是Apache CXF框架下关于SOAP消息的处理,特别是如何解析和修改SOAP内容的主题。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,支持SOAP和RESTful ...
CXF提供了一套全面的工具和服务,包括代码生成器、WSDL到Java绑定、Java到WSDL绑定、SOAP消息处理和安全支持等。它的优势在于对WS-I兼容性、强大的错误处理和调试能力。 3. **创建SOAP服务** 使用CXF,我们可以从...
最后,"将解析后的SOAP转成Java实体"意味着将解析出的数据映射到预先定义好的Java类实例上。例如,如果我们有类`YourResponseType`代表返回的数据结构,我们可以使用工具如Apache BeanUtils将XML节点值填充到这些...
- 第三方库:有很多专门为处理SOAP消息的库,如Python的`suds-jurko`,Java的`Apache CXF`,它们提供了方便的方法直接获取Body内容。 4. 示例代码: 在Python中,可以使用`xml.etree.ElementTree`来提取Body: ...
在IT行业中,CXF是一个广泛使用的开源框架,它支持服务导向架构(SOA)并通过SOAP协议提供Web服务。Spring框架则是Java应用开发的核心框架,它提供了丰富的功能来管理bean、处理事务、AOP(面向切面编程)等。将CXF...
4. cxf-rt-bindings-soap.jar:SOAP绑定组件,用于处理SOAP消息。 5. spring-context.jar:Spring的核心上下文库,包含IoC和AOP支持。 6. spring-web.jar:Spring的Web支持,用于在Web环境中集成Spring。 7. javax....
【标题】"用CXF开发SOAP接口"涉及的是在Java环境中使用Apache CXF框架来创建、实现和消费基于SOAP(Simple Object Access Protocol)的Web服务。SOAP是一种用于交换结构化和类型化的信息的协议,常用于企业级应用...
spring + cxf + restful + soap 方便初学者很快上手。 注解描述 @Path注解的值是一个相对的URI路径,这个路径指定了该Java类的位置,例如/helloworld。在这个URI中可以包含变量,例如可以获取用户的姓名然后作为参数...
赠送jar包:cxf-rt-bindings-soap-3.0.1.jar; 赠送原API文档:cxf-rt-bindings-soap-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-bindings-soap-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-bindings-soap-...
3. **消息处理**:CXF允许自定义SOAP消息的处理逻辑,包括编码、解码和异常处理。 4. **互操作性**:由于CXF对SOAP和WSDL的强大支持,它提高了与其他平台和语言的Web服务之间的互操作性。 此外,作为一个开源项目,...
安装完成后,可以使用SOAP UI等工具发送带有自定义SOAP头的请求,以测试CXF服务是否能够正确处理和验证头部信息。 综上所述,通过Apache CXF提供的Interceptor机制,我们可以方便地在SOAP消息中添加、读取和验证...
CXF会自动处理与SOAP消息的交互。 3. **WSDL(Web Service Description Language)**:WSDL文件描述了服务的接口、消息格式、操作以及如何调用这些服务。CXF可以通过注解或XML配置文件自动生成WSDL。 4. **部署...
以上步骤展示了如何在CXF客户端中添加SOAP Header,这个过程涉及到CXF客户端的配置、自定义Header处理以及服务调用。通过这样的方式,我们可以灵活地控制SOAP请求中的Header信息,满足各种服务交互的需求。记得根据...
标题“使用CXF实现带header的soap服务”指的是在Java环境中,通过Apache CXF框架创建一个SOAP(简单对象访问协议)服务,同时处理带有HTTP头部信息的请求。Apache CXF是一个开源的服务框架,它允许开发者构建和消费...
结合网上的例子,在本地搭建并且跑通了的基于CXF的例子,soap webservice 和 restful webservice的混搭模式. 依赖cxf 3.0.4 测试工具SOAPUI 5.0 服务器 tomcat 7 浏览器 chrome
在提供的压缩包文件“cxf-ws-restful-spring-server”中,包含了使用CXF、SOAP和RESTful的示例项目。通过访问“http://localhost:8080/cxf-ws-restful-spring-server/ws63”,我们可以看到这些服务的实际运行效果。...