当前位置: 首页 > 科技观察

Web服务的元素之一:WSDL

时间:2023-03-13 18:52:33 科技观察

WSDL1、WSDL文档结构WSDL元素结构图如下图所示:其中:1)Types是数据类型定义的容器,包含了所有需要的XML元素类型在消息定义定义中。2)Message具体定义了通信中使用的消息的数据结构。Message元素包含一组Part元素。每个Part元素都是最终消息的一个组成部分。每个Part将引用一个DataType来表示其结构。零件元素不支持嵌套。3)PortType具体定义了一种服务访问入口类型。访问条目的类型是什么?它是传入/传出消息的模式和格式。一个PortType可以包含多个Operation,一个Operation是指接入入口支持的一种调用类型。以上三种结构描述了调用Web服务的抽象定义。这三部分与具体的Web服务部署细节无关,都是可复用的描述(每一层都可以复用)。4)服务描述了具体部署的Web服务提供的所有访问入口的部署细节。一个Service往往包含多个服务访问入口,每个访问入口由一个Port元素描述。5)Port描述了一个服务访问入口的部署细节,包括访问哪个Web地址(URL),应该使用什么消息调用方式访问等。消息调用方式用Binding结构体表示。6)Binding结构定义了一个PortType绑定到一个特定的网络传输协议或消息传输协议。从这个层面来看,描述内容与具体服务的部署有关。例如,您可以将PortType绑定到SOAP/HTTP,或者您可以将PortType绑定到MIME/SMTP。2.WSDL端口元素是最重要的WSDL元素。它描述了Web服务可以执行的操作以及相关的消息。可以将元素比作传统编程语言中的函数库(或模块,或类)。端口包括以下类型:1)单向操作示例:在此例如,端口“glossaryTerms”定义了一个名为“setTerm”的单向操作。“setTerm”操作使用带有输入参数“term”和“value”的名为“newTermValues”的消息接受新词汇表项消息的输入。但是,没有为此操作定义输出。2)请求-响应操作示例:在此示例中,端口“glossaryTerms”定义了一个名为“getTerm”的请求-响应操作。“getTerm”操作将请求名为“getTermRequest”的输入消息和名为“term”的参数,并将返回名为“getTermResponse”的输出消息和名为“termResponse”的参数。3.WSDL绑定示例:绑定元素有两个属性:“name”和“type”。“name”属性定义绑定的名称,而“type”属性指向绑定的端口,在本例中为“glossaryTerms”端口。soap:binding元素有两个属性,“style”和“transport”。“style”属性可以取值“rpc”或“document”。在此示例中,我们使用“文档”。“transport”属性定义了SOAP使用的协议,在这个例子中是HTTP。operation元素定义了每个端口提供的操作符。对于每个操作,都需要定义相应的SOAP行为。您还必须知道如何对输入和输出进行编码。在这个例子中使用了“literal”。