现有结构概述
图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是放到了同一个过滤器里面,同样使用分支语句来做开关。
相关推荐
- 基于 wsdl、soap 的标准 webservice 路线:使用 web 服务协议(wsdl)和SOAP 协议来实现服务的描述和调用。 - 基于 http、json 的 restful webservice 路线:使用 RESTful 风格的 web 服务协议来实现服务的...
概述:无缝集成和测试 SOAP 和 REST 服务。 描述: 无缝集成和测试SOAP和REST服务。 您是否正在寻找可以帮助您访问和使用REST和SOAPWeb服务的出色应用程序? 您想通过一个新的、有用的SOAP客户端将您的体验提升到一...
### 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(统一描述、发现和集成)。它们使得不同系统间的接口能够相互通信,即便这些系统可能运行在不同的操作系统...
本文将深入探讨Axis2 1.4.1版本的经典入门实例,通过Eclipse集成开发环境中的Axis2插件,帮助你快速理解和应用这一强大的Web服务工具。 一、Apache Axis2概述 Apache Axis2是Apache SOAP(Simple Object Access ...
Web服务(WebService)是一种基于开放标准的、平台无关的、应用程序之间的通信机制,它通过XML、SOAP、WSDL和UDDI等标准定义了服务描述、消息交换和发现机制。本篇文章将聚焦于Axis2框架在服务器端进行Web服务开发的...
版本 1.4 是 Axis 的一个重要里程碑,提供了许多改进和特性,以支持 Java 和 SOAP(简单对象访问协议)的 Web 服务交互。在本文中,我们将深入探讨 Axis 1.4 的核心概念、功能和使用方法。 **1. Web 服务基础** ...
本文将详细解析标题“Axis2-myeclipse6.5-plugin1.3.0”以及描述中提到的Axis2插件,包括其在MyEclipse 6.5中的应用、功能、安装步骤以及如何利用这个插件进行Web服务开发。 **一、Axis2概述** Axis2是Apache软件...
这个框架基于SOAP协议,允许开发者轻松地将Java类转换为Web服务,同时也支持从WSDL(Web Service Description Language)文档生成Java代码。在本文中,我们将深入探讨Axis1_4框架的核心概念、功能以及使用方法。 ...
可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的Web Service接口,并在客户端采用JavaScript处理来自服务器的响应。由于在服务器和浏览器之间交换的数据大量减少,Web应用的响应更快,提高了...
Apache Axis2是Apache软件基金会开发的开源Web服务引擎,基于SOAP(简单对象访问协议)标准,支持WSDL(Web服务描述语言)和WS-*规范。其设计目标是提供高性能、可扩展性和模块化。AXIS2提供了多种编程模型,包括...
1. **Axis2 概述**:Axis2 是 Apache 软件基金会开发的Web服务框架,它是 Axis1 的下一代产品,设计更灵活,性能更优。Axis2 支持多种协议,如 SOAP 1.1/1.2,RESTful Web服务,以及WS-* 规范,如WS-Security和WS-...
2. JAX-WS:CXF支持Java API for XML Web Services (JAX-WS),这是一种用于构建和部署SOAP Web服务的标准。开发者可以使用注解或者WSDL-first方法来定义服务接口。 3. JAX-RS:CXF也支持Java API for RESTful Web ...
2. **生成WSDL**: 使用JAX-WS工具(如wsimport或IDE插件)从服务类生成WSDL文件。 3. **部署服务**: 将服务部署到应用服务器,如Tomcat、Jetty等,确保服务器配置正确加载并发布WSDL。 4. **客户端开发**: 使用...
这项技术的核心在于使用XML(可扩展标记语言)来描述数据,SOAP(简单对象访问协议)作为传输机制,WSDL(Web服务描述语言)用于定义服务接口,UDDI(统一描述、发现和集成)则提供了服务注册和查找的机制。...