WebService分布式应用架构

定义

webService通过 soap 协议进行系统与系统之间的对象调用,对象的描述语言使用的是wsdl。

soap 的本质就是HTTP协议加XML格式的协议体,soap 是面向对象的。

所以webService是一种跨语言,跨框架,跨平台的远程调用技术,是系统之间通信的一种手段。

WSDL可以直接生成客户端需要调用的代码,这样就可以直接在客户端进行调用,不用进行复杂的json转换。

 

SOAP协议

soap是简单对象访问协议,是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息

SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

单个的Interceptor功能有限,CXF要实现一个SOAP消息处理,需要将许许多多的Interceptor组合在一起使用

SOAP 并不仅限于 HTTP 协议绑定。SOAP也可以绑定到TCP和UDP协议上

 

webservice常用三种框架

axis2 是一个可用于多种语言的框架,功能强大,但是性能比较低,操作复杂

xfire 是一个轻量级的框架,性能比axis2高。Axis2的升级

cxf 是xfire的升级,性能比较高,现在市场上用的比较广发。xfire的升级

 

WebService三要素:

WSDL描述如何访问具体的接口

UDDl查询管理分发WebService

SOAP用来查询信息格式

 

搭建WebService:

@WebService

实现类@WebService(endpointinterface="接口路径")

访问http://localhost:8001/webservice?wsdl 没有问题就证明webservice搭建成功了

通过JaxWsProxyFactoryBean测试服务端

 

常用框架之CXF

CXF 框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Servlet 容器的支持

CXF有两种拦截器:InInterceptor和OutInterceptor,InInterceptor是处理soap请求消息,OutInterceptor是处理soap相应消息。

CXF的加密通过<jaxws:inInterceptors>标签指定拦截器位置,然后cxf的服务端通过继承AbstractPhaseInterceptor来实现拦截器的功能,通过无参构造来确定请求在那个阶段被拦截,然后调用其中的handleMessage方法对传输过来的SoapMessage进行验证。

客户端通过<jaxws:outInterceptors>指定拦截器的位置,该拦截器通过继承AbstractSoapInterceptor实现功能,通过调用handleMessage的方法进行解密,首先会构建一个Qname,然后构建一个xml,给定其中一些元素,然后再把构造的soap头消息添加到message中。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值