加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

总结一下在学习WebService中学习遇到的一些不懂的概念

发布时间:2020-12-17 00:36:17 所属栏目:安全 来源:网络整理
导读:WSDL Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。 编辑本段 WSDL 简介 WSDL是Web Service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息等。 编辑本

WSDL

Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。

编辑本段WSDL 简介

  WSDL是Web Service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息等。

编辑本段WSDL 历史

  在 2001 年 3 月,WSDL 1.1 被 IBM、 微软作为一个 W3C 纪录(W3C note)提交到有关 XML 协议的 W3C XML 活动,用于描述网络服务。(W3C 纪录仅供讨论。一项 W3C 纪录的发布并不代表它已被 W3C 或 W3C 团队亦或任何 W3C 成员认可。)在 2002 年 7 月,W3C 发布了第一个 WSDL 1.2 工作 草案。

编辑本段WSDL 功能

  怎样向别人介绍你的Web service有什么功能,以及每个 函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。

编辑本段WSDL 元素

  WSDL 元素 [1]基于XML语法描述了与服务进行交互的基本元素:
   Type(消息类型): 数据类型定义的容器,它使用某种类型系统(如XSD)。
   Message(消息):通信数据的抽象类型化定义,它由一个或者多个part组成。
   Part:消息参数
   Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification
??

[2]
):端点发送消息。
   Port Type (端口类型):特定端口类型的具体协议和 数据格式规范。
   Binding:特定端口类型的具体协议和数据格式规范
   Port?:定义为绑定和 网络地址组合的单个端点。
   Service:相关端口的集合,包括其关联的接口、操作、消息等。

编辑本段WSDL 文档结构

  WSDL 文档是利用这些主要的 元素来描述某个 web service 的:
  元素 定义
  web service 执行的操作
  <message> web service 使用的消息
  <types> web service 使用的 数据类型
  <binding> web service 使用的 通信协议
  一个 WSDL 文档的主要结构是类似这样的:
  <definitions>
  <types>
  definition of types........
  </types>
  <message>
  definition of a message....
  </message>
  <portType>
  definition of a port.......
  </portType>
  <binding>
  definition of a binding....
  </binding>
  </definitions>WSDL 文档可包含其它的元素,比如 extension 元素,以及一个 service 元素,此元素可把若干个 web services 的定义组合在一个单一的 WSDL 文档中。
  如需完整的语法概述,请访问 WSDL 语法 这一节。同样要记住,与服务交互所需的所有细节都位于其 WSDL 文件中。
  ●WSDL支持的消息交换方式?
  WSDL支持4种消息交换方式:
  1)单向(One-way):服务端接收消息;
  2)请求响应(Request-response):服务端点接收请求消息,然后发送响应消息;
  3)要求应答(Solicit-response):服务访问端发送要求消息,然后接收 应答消息。
  4)通知(Notification):服务访问端点发送通知消息

SOAP

求助编辑百科名片

SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

JAXB

JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。

Java SE中的JAXB

  JAXB 2.0是JDK 1.6的组成部分。JAXB 2.2.3是JDK 1.7的组成部分。

JDK中JAXB相关的重要Class和Interface:

  JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。
  Marshaller接口,将Java对象序列化为XML数据。
  Unmarshaller接口,将XML数据反序列化为Java对象。

JDK中JAXB相关的重要Annotation:

  @XmlType,将Java类或枚举类型映射到XML模式类型
  @XmlAccessorType(XmlAccessType.FIELD) ,控制字段或属性的序列化。FIELD表示JAXB将自动绑定Java类中的每个非静态的(static)、非瞬态的(由@XmlTransient标注)字段到XML。其他值还有XmlAccessType.PROPERTY和XmlAccessType.NONE。
  @XmlAccessorOrder,控制JAXB 绑定类中属性和字段的排序。
  @XmlJavaTypeAdapter,使用定制的适配器(即扩展抽象类XmlAdapter并覆盖marshal()和unmarshal()方法),以序列化Java类为XML。
  @XmlElementWrapper ,对于数组或集合(即包含多个元素的成员变量),生成一个包装该数组或集合的XML元素(称为包装器)。
  @XmlRootElement,将Java类或枚举类型映射到XML元素。
  @XmlElement,将Java类的一个属性映射到与属性同名的一个XML元素。
  @XmlAttribute,将Java类的一个属性映射到与属性同名的一个XML属性。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读