创建WebService的几种方式简介(EndPoint、JAX-WS、CXF、axis2、自定义Servlet+Document解析)

一、什么是WebService

        2013年初出校门,便开始了北漂之旅。闲暇时间就看程序方面的书籍,其中李刚老师的《疯狂XML讲义》也曾拜读过,那时便有了WebService的初步认知,Spring+Cxf或Spring+axis2也曾练过,未能在项目上大刀阔斧。直到2016年底,给甲方实施企业服务总线(ESB)的时候 ,开始各种天花乱坠的WebService服务、规范开始应用,也逐步揭开了WebService的层层面纱。那么什么是WebService呢?在这里我仅仅从实用性方面做出解释,更为深层次的不做言谈。

        Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,SOAP是一种WebService实现协议。我们所言的Web Service狭义上就是一种基于SOAP协议的接口规范。那么什么是SOAP协议呢?即HTTP+XML。其定义以HTTP为传输协议,以XML为消息协议(报文规范)的一种通讯、交互、沟通的机制。这种机制实现了系统间的底耦合,只需遵从于协议,可以使用任何代码实现(Tips:上面的定义是一种通俗的解释,并不严谨,比如传输协议HTTP也可能是MQ/JMS等)。

二、WebService的本质是什么

        上面已经初步介绍了什么是WebService,实质就是用一种标准通讯协议(如:HTTP、JMS、MQ),将一个以XML报文为规范的消息传递,这个XML消息规范来源于http://schemas.xmlsoap.org/wsdl/soap/。其将一个XML定义为信封,有报文头Header、报文体Body组成,Header可以有多个Xml元素组成,Body仅仅只能有一个元素组成(多为Complex元素)。

三、Endpoint、JAX-WS、CXF、axis2、自定义Servlet+Document解析,五种方式介绍

       下面我们讲解一个案例,并以此案例采用上述五种方式实现(实质为四种)

案例:某一认证服务,用于认证用户信息,当用户证件号姓名一致,则反馈成功,否则认证失败。同时,为很好的控制服务访问,接入方均需告知接入方标识授权码

案例分析:根据上面案例,我们可以提取出认证的实体(消息),用户(UserInfo)及授权信息(License),用户有UserName、ID两个属性,授权信息有ID及Key两个属性。授权信息通常放置在Header中,便于横向编程访问控制。业务信息放置于Body中,便于具体业务处理。我们确定该服务为认证服务VerifyService,操作为用户认证UserVerify。整体命名空间为:http://hlb.com/verifyService

(一)准备工作

1.编写WSDL如下(如你对XML 命名空间、复杂类型、序列等有所了解,WSDL编写也较为简单):

源文件下载地址:https://download.youkuaiyun.com/download/smartyob/12055937

2.java代码反向生成(wsimport其余参数自行研究,不做讲解)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值