web service

简介

webservice 跨编程语言和操作系统平台的远程通用技术。

三要素

soap、wsdl(web service description language)、UDDI

soap

simple object access protocol 简单对象访问协议,一种交换数据的协议规范,是一种轻量的、简单的、基于XML的协议。用于描述传递信息的格式。

wsdl

用来描述如何访问具体的接口,就像web service的说明书,描述其方法、参数、返回值。客户端要调用一个ws服务的时候,需要知道该服务的wsdl地址,ws的提供商可以通过两种方式来暴露它的wsdl文件地址:1.注册到uddi服务器 2.直接告诉客户端调用者

uddi

universal description discovery and integration 通用描述、发现与集成服务,是一种目录服务,企业可以通过它对ws 进行注册和搜索。

java web service 的规范

三种规范:jax-ws 、 jaxm&saaj、jax-rs

jax-ws

java api for xml -web service 取代了之前的jax-rpc 位于java.xml.ws包中,大多数都是基于这种规范

jaxm-saaj

jax-ws

是针对restful 风格制定的一套web服务规范。

wsdl 文档结构

Service:相关端口的集合,包括其关联的接口、操作、消息等。

Binding:特定端口类型的具体协议和数据格式规范

portType: 服务端点,描述 web service可被执行的操作方法,以及相关的消息,通过binding指向portType

message: 定义一个操作(方法)的数据参数

types: 定义 web service 使用的全部数据类型

阅读方式

WSDL文档应该从下往上阅读。

1.先看service标签,看相应port的binding属性,然后通过值查找上面的binding标签。

2.通过binding标签可以获得具体协议等信息,然后查看binding的type属性

3.通过binding的type属性,查找对应的portType,可以获得可操作的方法和参数、返回值等。

4.通过portType下的operation标签的message属性,可以向上查找message获取具体的数据参数信息。

SOAP

soap = http + xml ws 还是依赖http的post 请求,将xml放到请求体中。

xml 结构

必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息 可选的 Header 元素,包含头部信息 必需的 Body 元素,包含所有的调用和响应信息 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息

Java web service 框架

1. 原生的jax-ws

2.Axis2 重量级的web service 不但能发布和制作ws,还可以生成java 和其他语言版ws的客户端和服务端代码,依赖的jar很多 代码很复杂

3. xfire 高性能ws 框架,但是只针对java 对其他语言没有提供工具。后来渐渐落败

4.cxf soa简易框架 实现了esb 总线 全称为Enterprise Service Bus,即企业服务总线; 源于xfire

final:

如果你需要多语言的支持,你应该选择AXIS2。如果你需要把你的实现侧重JAVA并希望和Spring集成,CXF就是更好的选择

相关网址

https://blog.csdn.net/c99463904/article/details/76018436

https://baike.baidu.com/item/%E7%AE%80%E5%8D%95%E5%AF%B9%E8%B1%A1%E8%AE%BF%E9%97%AE%E5%8D%8F%E8%AE%AE/3841505?fromtitle=SOAP&fromid=4684413&fr=aladdin

web service_第1张图片
image.png

https://www.cnblogs.com/zhuyiqizhi/p/6045638.html

http://www.w3school.com.cn/wsdl/wsdl_uddi.asp

你可能感兴趣的:(web service)