现有结构概述
图1
如图1所示,目前有4个服务插件
① 访问控制插件,用于判断某个IP是否具有访问某个服务;
② 日志记录插件,记录每一次合法的访问的输入输出SOAP消息;
③ 参数校验插件,检查服务输入是否合法;
④ 异常捕获/实例号设置插件,一些零碎的功能。
说明一,绿色插件基于servlet filter实现;黄色插件基于soap handler实现;橙色插件基于ejb interceptor实现。
servlet filter可以获取请求的传输流、请求方法等原始的数据;
soap handler可以获取结构化为dom的请求数据;
ejb interceptor只能获取结构化为java对象的请求数据。
从获取请求数据的完整性上来说
servlet filter > soap hander > ejb interceptor
操作数据的难易度上来说,正好和上面的结果相反,所以设置实例号这些操作数据的功能放到了ejb interceptor里。而参数校验既需要解析soap消息,又需要在ws框架将soap消息转换成java对象报错之前进行校验,所以这个插件必须在ejb interceptor之前,同时解析soap消息需要将其转换成dom对象,而这个是ws框架本身就要需要做,所以将参数解析放到了soap handler中。访问控制必须最早执行,所以放到了第一个servlet filter;而日志记录需要的请求数据需要最全,因此也放到了servlet filter中。
说明二,ejb interceptor和soap handler均是自动配置到每个服务的配置文件或代码中的,也就是说,虽然可以关闭,但代码仍然会进入这个类,只是在做分支选择时,跳转到一段空代码的分支上,并不能在物理上移除代码;而servlet filter虽然是全局过滤,不需要在每个服务进行硬编码,但是其会过滤掉所有的web请求,为此每个过滤器都需要执行一个判断是当前请求是否是ws请求的公用方法。为了尽可能执行少的代码,所以把插件1和插件2是放到了同一个过滤器里面,同样使用分支语句来做开关。
相关推荐
概述:无缝集成和测试 SOAP 和 REST 服务。 描述: 无缝集成和测试SOAP和REST服务。 您是否正在寻找可以帮助您访问和使用REST和SOAPWeb服务的出色应用程序? 您想通过一个新的、有用的SOAP客户端将您的体验提升到一...
- 基于 wsdl、soap 的标准 webservice 路线:使用 web 服务协议(wsdl)和SOAP 协议来实现服务的描述和调用。 - 基于 http、json 的 restful webservice 路线:使用 RESTful 风格的 web 服务协议来实现服务的...
#### 一、Axis2插件概述 Axis2是Apache组织提供的一款基于Java的Web服务框架,它支持SOAP1.1和SOAP1.2标准,并且能够与各种其他Web服务栈互操作。在开发基于Web服务的应用时,Axis2提供了丰富的功能,如服务端点的...
### Axis2 插件概述 Axis2-Eclipse 插件是专门为Eclipse IDE设计的,旨在简化 Axis2 相关项目的创建、管理和调试。通过这个插件,开发者可以直接在Eclipse中创建、配置、测试和部署基于Axis2的Web服务。它提供了...
开发者可以使用IDE中的插件或者专门的调试工具,如SOAPUI,来测试和调试Web服务。 以上是关于Web服务的基础知识,涵盖其核心技术、架构、安全性和开发工具等方面。通过深入学习和实践,可以掌握构建、部署和维护Web...
【标题】"02.CXF功能概述_CXF发展历史和使用CXF开发WebService服务器端"主要探讨了Apache CXF框架在Web服务领域的应用及其发展历程,同时也涵盖了如何利用CXF来构建一个高效的WebService服务器端。 Apache CXF是一...
**WebSocket协议概述** WebSocket是一种在客户端和服务器之间建立长连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输。相比于传统的HTTP协议,WebSocket提供了更低的延迟和更高的效率,特别...
2. **SOAP和WSDL概述**:解释SOAP协议如何提供基于XML的消息传递机制,以及WSDL如何描述服务接口。 3. **gSOAP工具链**:详述如何使用gSOAP提供的各种工具,如wsdl2h、soapcpp2等,自动生成客户端和服务端代码。 4. ...
在Axis2的背景下,该插件使得开发人员无需手动编写大量与SOAP消息处理相关的代码,只需提供WSDL定义,就能快速构建符合规范的Web服务。 三、Axis2 Eclipse Codegen Plugin 1.6.0特性 1. WSDL到Java代码生成:通过...
一、Web服务概述 Web服务基于标准的开放协议,如SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现和集成)。它们使得不同系统间的接口能够相互通信,即便这些系统可能运行在不同的操作系统...
由于其出色的性能和易用性,Axis被广泛应用于各种开发环境中,例如JBuilder和Eclipse J2EE插件Lomboz都采用了Axis作为其核心Web服务支持。 #### 3. Axis的工作原理 ##### 3.1 架构概述 Axis框架的核心架构主要...
本文将深入探讨Axis2 1.4.1版本的经典入门实例,通过Eclipse集成开发环境中的Axis2插件,帮助你快速理解和应用这一强大的Web服务工具。 一、Apache Axis2概述 Apache Axis2是Apache SOAP(Simple Object Access ...
3. **停止企业应用或应用插件**:在不再需要插件服务时,安全地停止插件运行。 4. **修改企业应用或应用插件**:更新插件配置或代码,适应业务需求变化。 #### 插件管理范例 通过具体的案例演示插件管理流程,包括...
Web服务(WebService)是一种基于开放标准的、平台无关的、应用程序之间的通信机制,它通过XML、SOAP、WSDL和UDDI等标准定义了服务描述、消息交换和发现机制。本篇文章将聚焦于Axis2框架在服务器端进行Web服务开发的...
6. **访问Web服务**:部署完成后,可以通过SOAP请求调用发布在Axis2上的Web服务方法,例如通过POST请求向服务接口发送XML消息,获取服务响应。 总结来说,这篇文章详细阐述了在MyEclipse环境中使用Axis2和Tomcat...
版本 1.4 是 Axis 的一个重要里程碑,提供了许多改进和特性,以支持 Java 和 SOAP(简单对象访问协议)的 Web 服务交互。在本文中,我们将深入探讨 Axis 1.4 的核心概念、功能和使用方法。 **1. Web 服务基础** ...
- **SOAP (Simple Object Access Protocol)**:简单对象访问协议,是一种轻量级的协议,用于在Web服务中交换结构化的信息。 - **UCA (Unified Communication Agent)**:统一通信代理,提供统一的通信服务。 - **...
本文将详细解析标题“Axis2-myeclipse6.5-plugin1.3.0”以及描述中提到的Axis2插件,包括其在MyEclipse 6.5中的应用、功能、安装步骤以及如何利用这个插件进行Web服务开发。 **一、Axis2概述** Axis2是Apache软件...