WebService入门
Posted 结构化思维wz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebService入门相关的知识,希望对你有一定的参考价值。
WebService
WebService概述
WebService 即Web服务,一种跨编程语言跨操作系统的远程调用技术。主要用于多个异构系统的数据交互。
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。 [1]
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
WebService分类
SOAP架构的WebService
SOAP
协议:简单对象访问协议,所谓SOAP架构的WebService,指的是这种WebService底层使用的是SOAP协议传递数据。
RestFul架构的WebService
SOAP架构WebService三要素
-
SOAP:(Simple Access Protocol)
简单对象访问协议:是一种基于XML的协议,它使应用程序通过HTTP协议来交换数据。
简单理解为:SOAP = Http+XML
SOAP协议在今天主要有:SOAP1.1 和 SOAP1.2协议。
注:SOAP不是WebService的专有协议,很多的应用也有使用SOAP协议如:SMTP等。
-
WSDL:(Web Service Description Language)
是基于XML用于描述WebService的函数,参数,返回值等信息。
通俗理解为:WebService的使用说明书。
-
UDDI:(Universal Description Discovery and Intergration)
是一种目录服务,企业可以使用它对WebService进行注册和搜索,从而达到资源共享,促进全球经济合作。(了解即可,现在基本不用)
阅读WSDL
<definitions>
<types>
定义WebService 使用的数据类型
</types>
<message>
每个消息均由一个或多个部件组成,可以把它当做java中一个函数调用的参数。
</message>
<portType>
它类似Java中的一个函数库(或一个模块、或一个类)
</portType>
<bingding>
为每个端口定义消息格式和协议细节
</bingding>
</definitions>
阅读顺序:从下往上
- 服务视图名称
- 找服务试图名称标签中对应的
binding name
- 通过
binding
标签中的type属性 找到portType name - portType 就是服务的核心类 WebService中所有调用的服务都在这
如何开发WebService
一个WebService 分为两端 :客户端,服务端
Spring+CXF服务端开发
- 引入相关maven依赖
- 开发SEI(Service Endpoint Interface)服务发布接口
- 开发SEI实现类
- 使用Spring整合CXF 发布webService
Spring+CXF客户端开发
-
引入相关的依赖
cxf-spring-boot-starter-jaxws
-
根据wsdl生成客户端代码
-
调用方法
以上是关于WebService入门的主要内容,如果未能解决你的问题,请参考以下文章