WSDL文件结构分析
WSDL是什么?
WSDL 是一种可用于定义Web服务的语言
WSDL 是用 XML 编写的
WSDL 定义描述了如何访问 Web 服务以及它将执行什么操作。
WSDL 代表Web Services Description Language(网络服务描述语言)
WSDL 是 2007 年 6 月 26 日的 W3C 推荐标准
到目前为止已发布了2个主要版本,它们分别如下所述:
- WSDL 1.1 - 于2001年3月15日发布,WSDL 1.1的规范可通过访问网址:https://www.w3.org/TR/2001/NOTE-wsdl-20010315 了解。
- WSDL 2.0 - 于2007年6月26日发布,WSDL 2.0的规范可通过访问网址:https://www.w3.org/TR/wsdl20 了解。
在高层次上,WSDL是一种允许编写WSDL文档的语言,因此:
WSDL文档可以定义一组Web服务。
Web服务可以定义为接口和一组端点。
端点可以定义为地址和绑定。
可以定义地址以告知提供服务的位置。
可以定义绑定以告知如何格式化和传输消息。
接口可以定义为一组操作。
操作可以定义为输入和输出消息序列。
WSDL用来干什么的?
WSDL(Web Service Description Language)用XML格式的文件来描述可用的Web服务。
WSDL文件被用来在Web Service生产者和消费者之间交流接口信息。
其实说白了就是一个标准,终端按照这个标准在网络中创建Web Service,客户端也按照此标准去连接这个服务,并且根据WSDL文件获知自己所需要的操作,客户端可以在不了解Web Service的实现细节的情况下使用Web Service的能力。
WSDL发展过程
WSDL 1.0(2000年9月)是由IBM、微软和Ariba开发的,用于描述其SOAP工具包的Web服务。它是由两种服务描述语言结合而成的。IBM的NASSL(网络应用服务规范语言)和微软的SDL(服务描述语言)。
2001年3月发表的WSDL 1.1是WSDL 1.0的形式化。在1.0和1.1之间没有引入重大变化。
WSDL 1.2(2003年6月)是W3C的一个工作草案,但已经成为WSDL 2.0。根据W3C的说法。WSDL 1.2 对开发者来说比以前的版本更容易、更灵活。WSDL 1.2试图删除不具互操作性的功能,也更好地定义了HTTP 1.1绑定。WSDL 1.2不被大多数SOAP服务器/供应商所支持。
WSDL 2.0在2007年6月成为W3C的建议。WSDL 1.2被重新命名为WSDL 2.0,因为它与WSDL 1.1有很大的区别。这些变化如下。
为描述语言添加了进一步的语义
删除了message结构
不支持操作符重载
PortTypes 重命名为interfaces
Ports重命名为endpoints
所以说现在WSDL流行的两个版本是WSDL2.0 和 WSDL1.1。虽说WSDL2.0 是W3C推荐的版本,但是现在大多数的厂商支持的还是WSDL1.1。
WSDL1.1 和WSDL2.0
WSDL 1.1 规范仅定义描述如何结合 SOAP 1.1、HTTP GET 和 POST 以及 MIME 使用 WSDL 的绑定。
WSDL 2.0 提供了一种模型和 XML 格式来描述 Web 服务。它使您能够将服务提供的抽象功能的描述与服务描述的具体细节分开,例如提供该功能的“方式”和“位置”。它还描述了消息交换模式的扩展、SOAP 模块以及用于描述 SOAP 1.2 和 HTTP 的此类具体细节的语言。 WSDL 2.0 规范还解决了 WSDL 1.1 中存在的许多技术问题和限制。
WSDL 1.1 规范由万维网联盟 (W3C)作为 WSDL 版本 1.1 的 W3C 注释发布。
WSDL 2.0 的规范在WSDL 2.0 版中作为 W3C 推荐标准发布。
WSDL 用法
WSDL 通常与 SOAP 和 XML Schema 结合使用,以在 Internet 上提供 Web 服务。连接到 Web 服务的客户端程序可以读取 WSDL 以确定服务器上可用的功能。使用的任何特殊数据类型都以 XML 模式的形式嵌入到 WSDL 文件中。然后客户端可以使用 SOAP 实际调用 WSDL 中列出的函数之一。
WSDL 文档包含客户端调用 Web Service方法所需的所有信息:
- 作为方法参数或返回值的数据类型
- 各个方法的名称和签名(WSDL把方法称为操作)
- 每个方法允许的协议和消息格式
- 用于访问 Web Service的 URL
WSDL 文档
WSDL 将 Web Service分解为三个特定的、可识别的元素,这些元素一旦定义就可以组合或重用。
可以单独定义的 WSDL 的三个主要元素是:
Types
Operations
Binding
一个 WSDL 文档有各种元素,但它们都包含在这三个主要元素中,它们可以作为单独的文档开发,然后它们可以组合或重用以形成完整的 WSDL 文件。
WSDL 元素
WSDL 1.0
WSDL2.0
https://www.iteye.com/blog/jameswxx-250759
https://www.cnblogs.com/si-shaohua/archive/2012/04/28/2475257.html