WSDL教程:Web服务描述语言介绍

2020年12月29日16:13:02 发表评论 46 次浏览

本文概述

Web服务描述语言(WSDL)

如果你与网页服务, 有几种不同的重要技术。并排肥皂和休息, 描述语言WSDL是其中之一。它用于描述Web服务的功能, 以便其他网络参与者也可以使用该服务。该语言如何工作, 你究竟需要WSDL文件做什么, 以及与其他语言的链接?

内容

  1. 什么是WSDL?
  2. WSDL的结构和属性
  3. WSDL:示例

什么是WSDL?

WSDL代表Web服务描述语言。它是一种语言, 可以全面描述Web服务。反过来, Web服务是服务器通过Internet(或另一个网络)提供给客户端的服务。这独立于平台, 在不同系统和应用程序之间进行。 WSDL文件在服务器上可用, 因此客户端可以了解Web服务的可能性和过程。文件中给出的详细信息告诉客户端如何访问Web服务。

WSDL使用可扩展标记语言(XML)或以XML模式(XSD)为基础。这意味着WSDL使用XML元素。

WSDL的结构和属性

WSDL使用抽象和具体描述描述网络服务。虽然抽象描述是指服务的功能, 但是特定描述传达了明确的事实, 例如传输协议。该文档(即WSDL文件)具有层次结构。因此, 信息是嵌套的。

WSDL采用XML的六个主要元素:

  • 类型:数据类型
  • 讯息:要传输的数据的描述
  • 接口:描述服务器和客户端之间通信的抽象操作(仍称为portType在标准的旧版本中)
  • 捆绑:有关使用的传输协议的信息
  • 终点:有关通信接口的信息, 通常为URI(仍称为港口在旧版标准中
  • 服务:Web服务的访问点

通过填写文件中的所有元素, 客户端可以获取使用Web服务所需的所有信息。这正是Web服务独立于平台的原因, 因为不同的系统通过WSDL文件接收公共语言。

WSDL:示例

现在使用示例在下面更详细地描述WSDL文件的结构。以下代码用于返回简单的" Hello World"的Web服务。

<?xml version="1.0"?>
<definitions name="HelloWorld"
targetNamespace="http://example.com/helloworld.wsdl"
xmlns:tns="http://example.com/helloworld.wsdl"
xmlns:xsd1="http://example.com/helloworld.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">

  <types>
    <schema targetNamespace="http://example.com/helloworld.xsd"
      xmlns="http://www.w3.org/2000/10/XMLSchema">
      <element name="HelloWorldElement">
        <complexType>
          <all>
            <element name="worldRequest" type="string"/>
          </all>
        </complexType>
      </element>
</schema>
</types>

<message name = "HelloWorldRequest">
<part name = "name" type = "xsd:string"/>
</message>

<message name = "HelloWorldResponse">
<part name = "greeting" type = "xsd:string"/>
</message>

<interface name = "HelloWorld_Interface">
<operation name = "sayHelloWorld">
<input message = "tns:HelloWorldRequest"/>
<output message = "tns:HelloWorldResponse"/>
</operation>
</interface>

<binding name = "HelloWorld_Binding" type = "tns:HelloWorld_Interface">
<soap:binding style = "rpc"
transport = "http://schemas.xmlsoap.org/soap/http"/>
<operation name = "sayHelloWorld">
<soap:operation soapAction = "sayHelloWorld"/>
<input>
<soap:body
encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
namespace = "urn:examples:helloworld"
use = "encoded"/>
</input>
<output>
<soap:body
encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
namespace = "urn:examples:helloworld"
use = "encoded"/>
</output>
</operation>
</binding>

<service name = "Hello_World">
<documentation>WSDL File for HelloWorld</documentation>
<endpoint binding = "tns:HelloWorld_Binding" name = "HelloWorld_Endpoint">
<soap:address
location = "http://www.example.com/HelloWorld/" />
</endpoint>
</service>
</definitions>

在源代码示例中, 你可以清楚地看到WSDL文件的各个组件。在进行初步介绍(其中还包括对WSDL和XSD的引用)之后, 摘要说明类型, 讯息和接口跟随。下半部分由具体说明组成, 其中终点成立于服务.

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: