1.axis2 获取消息头中的数据
SOAPHeader header = MessageContext.getCurrentMessageContext()
.getEnvelope().getHeader();
ResponseSOAPHeaderVo head = new ResponseSOAPHeaderVo();
OMElement ole = header.getFirstElement();
Iterator it = (Iterator) ole.getChildElements();
while (it.hasNext()) {
OMElement ome = (OMElement) it.next();
if ("spRevId".equals(ome.getLocalName())) {
head.setSpRevId(ome.getText());
} else if ("spRevpassword".equals(ome.getLocalName())) {
head.setSpRevpassword(ome.getText());
} else if ("spId".equals(ome.getLocalName())) {
head.setSpId(ome.getText());
} else if ("SAN".equals(ome.getLocalName())) {
head.setSAN(ome.getText());
} else if ("transactionId".equals(ome.getLocalName())) {
head.setTransactionId(ome.getText());
} else if ("linkId".equals(ome.getLocalName())) {
head.setLinkId(ome.getText());
}
}
2.CXF获取消息头中的数据
@Resource
private WebServiceContext context;
Map<String, Object> headers = context.getMessageContext();
List<Header> headerList = (List<Header>)headers.get(Header.HEADER_LIST);
for (Header header : headerList) {
Node root = (Node) header.getObject();
if(root==null) {
continue;
}
String headerName = root.getNodeName();
if(headerName.contains("NotifySOAPHeader")){
NodeList listLinkId = root.getChildNodes();
int size = listLinkId.getLength();
for(int i=0; i<size; i++){
Node node = listLinkId.item(i);
if(node.getNodeName().contains("linkId")){
linkId = node.getFirstChild().getNodeValue();
}
}
}
}
分享到:
相关推荐
在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架,主要用于SOAP服务。本文将深入探讨如何使用CXF客户端调用Axis...
2. 获取服务的WSDL文件路径,例如`http://localhost:8080/Axis2Demo/services/HelloWorld?wsdl`。 3. 在`com.ws.client`包上右键选择`New > Other > Web Service Client`,填写相应的WSDL路径。 4. 完成客户端配置后...
- **WSDL到Java**:从服务端获取WSDL文件,使用CXF或Axis提供的工具将其转换为Java客户端代码,然后在自己的应用中引入这些生成的类来调用服务。 - **动态代理**:对于CXF,可以通过JAX-WS API动态生成客户端代理...
在IT行业中,Axis2是Apache软件基金会开发的一个用于构建Web服务和Web服务客户端的框架,主要基于Java语言。本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解...
### 开发Web服务:使用Apache CXF与Axis2 #### 书籍概述 《开发Web服务:使用Apache CXF与Axis2》(第三版)是一本详细介绍如何利用Apache CXF和Axis2开发高质量Web服务的专业书籍。该书由Kent Kaiok Tong编写,并...
- 配置Axis2:在Axis2配置文件中,添加Spring上下文加载器,使得Axis2可以从Spring容器中获取服务实现。 - 启动Axis2服务:使用Axis2管理工具或者编程方式启动服务,使服务暴露出来。 4. **Spring Boot与Axis2** ...
3. 获取Apache CXF 2.5.3版本,并将所需的JAR包导入到项目的类路径中,包括CXF库和其他依赖的规范实现库。 4. 创建一个Java类,实现服务接口,并使用注解(如`@WebService`)进行标记。 5. 使用CXF工具或手动创建...
2. **XFire**:是另一个强大的Java Web Service框架,它在早期被称为Axiom,后来并入CXF项目。XFire强调简洁的API和快速的开发周期,支持多种协议如SOAP、RESTful以及JAXB(Java Architecture for XML Binding)和...
### 开发Web服务:使用Apache CXF与Axis2(第三版) #### 一、书籍概述 本书《开发Web服务:使用Apache CXF与Axis2》是针对希望学习如何使用Java创建Web服务的专业人士所编写的实用教程。作者Kent Kai Ok Tong以...
10. **集成和工具**:Axis2可以与其他Apache项目(如Tomcat、CXF等)和IDE(如Eclipse、IntelliJ IDEA)集成,提高开发效率。 通过阅读“Quickstart Apache Axis2.pdf”,你可以逐步掌握这些概念并实践操作,从而...
1. **下载并解压Axis2**:从Apache官网获取最新版本的Axis2,并将其解压到本地目录。 2. **配置-axis2.xml**:这是Axis2的主要配置文件,可以在此定义服务、传输、模块等。 3. **添加服务**:可以通过编写服务类和...
7. **集成其他Apache项目**:CXF与Apache Axis2、Tomcat、Jetty等项目有良好的集成,可以方便地嵌入到现有的应用服务器中。 8. **多种数据绑定技术**:CXF支持JAXB、XMLBeans、Aegis等多种数据绑定技术,使XML到...
此外,Apache Axis2还与Apache CXF、 Axis1.x、Tomcat等其他Apache项目良好集成,可以无缝地在各种环境和应用中使用。 总的来说,Apache Axis2是Web服务开发中的重要工具,尤其对于那些需要与已有的Web服务接口进行...
- **版本兼容性**:确认所使用的 Axis2 版本与其他相关库(如 Axis1、CXF等)的兼容性,以避免潜在冲突。 在提供的压缩包“axis2资料”中,可能包含以下内容: - Axis2的用户指南和API文档,帮助理解框架的内部工作...
- **Axis2**:也是一个流行的Java Web服务框架,但CXF在易用性、性能和社区支持方面更胜一筹。 - **Spring-WS**:侧重于基于WSDL的第一类公民,而CXF支持更广泛的Web服务标准和协议。 6. **最佳实践** - **模块...
Axis提供的jar包包含了处理SOAP消息和调用Web服务所需的各种库。 "GetDataFromWSDL"可能是一个示例程序,用于从WSDL文件中获取服务信息,这通常涉及到解析WSDL文件并创建服务代理对象。这个过程帮助开发者了解可用...
与Axis2、Gson等其他框架相比,CXF在性能、易用性和功能方面都有其优势。例如,CXF对JAX-RS的支持更加全面,而且它的代码生成工具和调试工具也更为强大。 总的来说,"apache-cxf-2.4.10"是一个适用于构建和部署Web...