解答在CXF google中有一个帖子“请问如何用cxf在请求中加header信息“
由于需要记录访问services的client。需要从SOAP消息中获取Header的数据。具体的方法如下:
server:
1.public class LoggingInterceptor extends AbstractPhaseInterceptor<SoapMessage> {
2. Log logger = LogFactory.getLog(LoggingInterceptor.class);
3.
4. private SAAJInInterceptor saajIn = new SAAJInInterceptor();
5.
6. public LoggingInterceptor() {
7. super(Phase.PRE_PROTOCOL);
8. getAfter().add(SAAJInInterceptor.class.getName());
9. }
10.
11. public void handleMessage(SoapMessage message) throws Fault {
12. try {
13. logger.info("记录访问web services日志");
14. SOAPMessage doc = message.getContent(SOAPMessage.class);
15. if (doc == null) {
16. saajIn.handleMessage(message);
17. doc = message.getContent(SOAPMessage.class);
18. }
19. SOAPHeader header = doc.getSOAPHeader();
20. if (header == null) {
21. return;
22. }
23.
24. NodeList nodes = header.getElementsByTagName("proc:user");
25. for(int i=0; i<nodes.getLength(); i++) {
26. System.out.println(nodes.item(i).getLocalName()+"----"+nodes.item(i).getTextContent());
27. }
28.
29. } catch (SOAPException e) {
30. e.printStackTrace();
31. }
32.
33. }
34.}
【转载地址】http://melin.iteye.com/blog/223643
分享到:
相关推荐
根据提供的标题、描述、标签及部分内容,我们可以详细探讨CXF框架中SOAP Header的使用方法。 ### CXF SOAP Header 使用详解 #### 一、引言 Apache CXF 是一个开源项目,提供了一套全面的框架来构建和服务 SOA 架构...
描述中提到的博客链接可能提供了一个详细的实践案例,展示了如何在CXF中配置和处理带有自定义header的SOAP请求。通常,这涉及到以下步骤: 1. **创建服务接口**:首先,你需要定义一个SOAP服务接口,这个接口将暴露...
在开发基于SOAP协议的服务时,有时我们需要在请求中添加特定的Header信息,这在CXF框架下可以通过编程方式实现。Apache CXF是一个流行的开源服务框架,支持SOAP和RESTful服务的开发、部署和消费。本示例将详细介绍...
### CXF打印SOAP报文与记录WebService日志 在企业级应用开发中,尤其是涉及到服务端接口(如WebService)的设计与实现时,日志记录变得尤为重要。它不仅可以帮助开发者更好地理解系统运行状况、定位问题所在,还能...
创建一个实现了`org.apache.cxf.interceptor.Fault`和`org.apache.cxf.phase.Phase`接口的类,如`SoapHeaderInterceptor`,并在`handleMessage`方法中处理头部信息: ```java public class SoapHeaderInterceptor...
首先,Interceptor是CXF框架中的一个核心组件,它允许我们在服务调用的生命周期中插入自定义的行为。拦截器可以拦截并处理消息的发送和接收,从而提供了一种灵活的方式来扩展或增强服务的功能。例如,我们可以通过...
它由三个主要部分组成:SOAP Envelope定义消息结构,SOAP Header用于传递元数据,SOAP Body包含业务逻辑信息。 2. **CXF简介** CXF提供了一套全面的工具和服务,包括代码生成器、WSDL到Java绑定、Java到WSDL绑定、...
3. 访问`SOAPBody`以获取或修改业务数据。可以使用`SOAPBody`的`getFirstBody()`或`getChildElements()`方法来遍历和操作元素。 4. 要修改SOAP消息,可以添加、删除或更新`SOAPBody`中的节点,然后使用`SOAPMessage`...
【标题】"用CXF开发SOAP接口"涉及的是在Java环境中使用Apache CXF框架来创建、实现和消费基于SOAP(Simple Object Access Protocol)的Web服务。SOAP是一种用于交换结构化和类型化的信息的协议,常用于企业级应用...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,其中两种主要的接口类型是SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)。本篇将详细讲解如何使用Apache CXF框架...
标题中的"CXF处理不规则SOAP message(转)"指出,这篇内容主要涉及的是Apache CXF框架在处理非标准或不规范的SOAP(简单对象访问协议)消息时的问题和解决方案。SOAP是Web服务的一种通信协议,用于交换结构化的、...
总结来说,"cxf-rt-bindings-soap-2.7.6.zip"是一个用于构建和使用SOAP Web服务的开源工具,而"text.zip,分隔标记/注释文本模型"则可能涉及到数据处理和文本分析的特定方法。这些资源结合了现代Web服务开发的关键...
<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"/>
接着,在`MainTest.java`中,我们将实例化这些代理类,配置必要的连接参数(如服务URL),然后调用相应的方法获取天气数据。 在实际应用中,可能会涉及到认证和错误处理。如果第三方天气服务需要API密钥,我们会在...
在这个"CXF soap例子源码"中,我们可以深入理解如何使用CXF框架来实现基于SOAP的Web服务。 首先,SOAP是一种基于XML的协议,允许应用程序通过HTTP或其他传输协议进行通信。在CXF中,你可以使用Java API for RESTful...
本教程将围绕标题和描述中的关键知识点展开,包括如何拼接SOAP请求,判断SOAP连接成功,获取接口信息,解析SOAP响应报文,并将解析后的数据转换为Java实体。 首先,我们需要理解SOAP的基本结构。一个基本的SOAP消息...
标题:“CXF拦截器(Interceptor)的使用” 描述:“讲解了cxf实现拦截器的原因、核心API及使用方法” 在深入探讨CXF拦截器的使用之前,我们首先需要理解其在CXF框架中的核心作用与价值。Apache CXF是一个开源框架,...
赠送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-...
在本次讨论中,我们将详细介绍如何使用Java语言结合Apache CXF框架实现SOAP协议的Web服务调用,重点是如何在调用过程中实现用户权限验证以及附件文件上传的功能。在这一过程中,我们将涉及到的技术点包括SOAP协议的...
CXF框架是Apache组织提供的一款开源工具,它简化了在Java环境中创建和消费SOAP Web服务的过程。本篇文章将深入探讨如何使用CXF框架在SOAP协议下开发Web服务。 首先,我们需要理解SOAP的基本概念。SOAP是一种轻量级...