`
uule
  • 浏览: 6358907 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

SOAP服务参数校验方案

 
阅读更多

分析



 

1

如图1所示,可装配的拦截器/过滤器有三组:①Servlet过滤器、②SOAPHandler和③EJBInterceptor 。拦截请求顺序依次按照序号。

特性

   Servlet过滤器

HTTP协议,属于三组过滤器/拦截器的最底层,可以通过流获取到完整的传输数据。

   SOAPHandler

SOAP协议,可以获取结构化的SOAP消息。

   EJBInterceptor

J2EE规范,由于使用ejb来发布服务,所以可以使用ejb的拦截器,获取POJO

      

做参数检查,最先排除的是ejb的拦截器,因为soap消息转换成java对象时,如果类型错误,必然已经抛出异常,所以,最迟也要在该动作开始前做类型检查。其后候选对象剩下servlet过滤器和soapHandler

 

Servlet过滤器实现:

需要在现有的日志基础上做检查,在inputStream关闭(如该处不理解请参考com.soa.project.filter工程中的日志实现)时,会将日志发送至jms,此时可以获取到完整的文本消息,将该文本消息使用dom4j或其他对象解析,然后同数据库中的参数做比对,如果参数有误,需要向上抛出一个异常(参数信息封装到该异常的msg中),该异常抛需要在servlet过滤器中的doFilter方法中捕获,之后将获取的msg封装成soap消息,返回给客户端即可。

SOAPHandler实现:

soapHandler可以直接操作soap消息。直接获取body,按顺序与数据库中的参数类型做对比,如果参数有误,将信息封装成soapFault对象在SOAPFaultException中抛出即可。

 

 

选定SOAPHandler实现。

  • 大小: 25.1 KB
分享到:
评论

相关推荐

    Xfire调用webservice无法接收到参数问题解决

    本文将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决方案。 首先,我们需要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信。SOAP消息封装...

    一种基于WebService的分布式排队机方案.pdf

    在系统架构上,采用WebService协议进行通信,这是一种基于SOAP(Simple Object Access Protocol)的网络服务标准,允许不同系统间的互操作性。营业员登录成功后,可以通过INF6窗口叫号(下一位)接口通知显示条屏和...

    ROP(Rest Open Platform)开发指南

    3. **请求数据校验**:由于REST服务可能同时服务于多个不同的客户端,因此需要在服务端对请求数据进行校验,确保数据的合法性。这一步骤有助于减少因客户端数据错误导致的服务故障。 4. **发展性问题**:随着业务的...

    Web Services Testing with soapUI(英文版)

    测试通常包括对输入和输出数据进行校验,以确保Web服务按照其定义的接口和业务逻辑正确地执行。由于Web服务通常是在网络上通过SOAP或其他协议(如REST)进行通信的,测试的目的就是保证这些服务在不同环境下能稳定...

    Spring攻略(第二版 中文高清版).part2

    8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 342 8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 ...

    Spring攻略(第二版 中文高清版).part1

    8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 342 8.13 创建Excel和PDF视图 344 8.13.1 问题 344 8.13.2 解决方案 345 8.13.3 工作原理 345 8.14 ...

    接口测试题

    但如果接口要求必须校验所有参数,则必须传递完整的参数集合。设计测试用例时,应当分析接口设计文档,了解哪些参数是必填的,哪些是选填的,并且考虑边界值、异常值和合法值的组合。 9. 接口文档的管理和效率提升...

    ID5国政通认证

    "ID5国政通认证"是一个...综上所述,"ID5国政通认证"服务结合了Web服务技术和加密方法,提供了一套完整的身份验证解决方案,而提供的文件则包含了实现这一服务所需的库、工具类和接口文档,便于开发者进行集成和实施。

    lifery6.1+cas初始化环境搭建及门户解决方案

    8. **先进技术运用**:采用了Java EE、EJB、JMS、SOAP和XML等先进技术。 **1.1.1 需求概述** 本方案的目标是将kjdp的工作流待办任务及业务对象查看功能集成到Liferay门户,并实现单点登录(SSO)功能。这不仅可以...

    AddressValidationService_v4_cs_fedex_webservice_advanced_seat74o

    总的来说,"AddressValidationService_v4_cs_fedex_webservice_advanced_seat74o"是FedEx提供的一种高级地址验证解决方案,它为开发者提供了在C#环境中集成FedEx服务的能力,从而提升物流系统地址处理的准确性。...

    彩信协议Webservice

    - **SOAP接口**:所有消息遵循WS-I标准,并使用XML Schema进行数据结构校验。 - **能力调用接口**:具体介绍了企业客户如何调用行业彩信网关提供的能力接口发送彩信,以及所需的关键参数。 - **能力回复接口**:...

    湖南省新农合信息系统与医院信息管理系统互联接口开发文档.doc

    在接口方案的选择上,文档推荐采用基于SOAP的Web服务,并通过HTTP协议进行操作调用。这种选择的优势在于其跨平台、跨语言的特性,能够满足不同系统间的数据交互需求。同时,文档还提出了医院方面需要做的准备工作,...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    3.4.3 消除可选参数和命名参数的歧义 59 第3章快速参考 63 第4章 使用决策语句 65 4.1 声明布尔变量 65 4.2 使用布尔操作符 66 4.2.1 理解相等和关系操作符 66 4.2.2 理解条件逻辑操作符 66 4.2.3 短路求值 ...

    服务测试

    1. 功能测试:检查服务的基本功能是否正常,包括请求/响应格式、参数校验等。 2. 性能测试:通过模拟大量用户同时访问,测试服务的响应时间、吞吐量和资源利用率。 3. 压力测试:在超出正常负载的情况下测试服务的...

    东南融通面试题 内部

    - SOAP定义了服务消息的结构和传输方式,为Web服务提供了一个可靠的消息传递机制。 4. **Web服务的优势:** - 平台无关性:通过标准化的协议和数据格式实现跨平台服务通信。 - 易于集成:Web服务可以轻松地集成...

    通用自动更新程序及源代码,采用WEBSERVICE

    首先,VB.NET是一种强大的编程语言,属于.NET框架的一部分,它提供了丰富的库和工具,适合开发桌面应用和网络服务。在这个自动更新系统中,VB.NET被用来构建客户端和服务器端的交互逻辑。 核心知识点1:VB.NET编程 ...

    Adroid开发前导.docx

    而MD5则常用于校验数据的完整性,尽管它本身并不提供高强度的安全保障。 6. **传参格式**: 在发起网络请求时,需要按照约定的格式传递参数。例如,“?param=AES(json参数数据内容)&md5=md5(AES数据)”表示使用AES...

    loadrunner资料

    ### LoadRunner 常见问题及解决方案 #### 一、脚本问题 ##### 1.1 无法弹出IE浏览器或录制中出现0事件 **原因:** 通常是因为计算机上安装了多个浏览器而导致的问题。 **解决方法:** 调整 IE 浏览器的设置,...

    spring jar

    它提供了模型层与视图层之间的解耦,并支持请求参数绑定、数据校验、本地化、主题装饰等功能。 5. **Spring JDBC**和**Spring ORM**:这两部分是Spring对数据库操作的支持。Spring JDBC提供了一种更高级的JDBC抽象...

    各大公司面试题-曾锤鑫面试题.txt

    以及对请求参数进行严格的校验等。 ### 6. 系统使用WebService时,与互联网有何不同? 当系统使用WebService时,它主要依赖于HTTP协议进行通信。相比于直接与互联网交互,使用WebService可以更好地控制数据的访问...

Global site tag (gtag.js) - Google Analytics