WSDL(Travelport Air)

WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。

什么是 WSDL?

  • WSDL 指网络服务描述语言
  • WSDL 使用 XML 编写
  • WSDL 是一种 XML 文档
  • WSDL 用于描述网络服务
  • WSDL 也可用于定位网络服务
  • WSDL 还不是 W3C 标准

WSDL文档结构

import元素使得可以在当前的WSDL文档中使用其他WSDL文档中指定的命名空间中的定义元素。

元素包含一个或者多个port元素,其中每个port元素表示一个不同的Web服务。

定义为绑定和网络地址组合的单个端点。

最重要的 WSDL 元素。它可描述一个 web service、可被执行的操作,以及相关的消息。可以把 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。

通信数据的抽象类型化定义,它由一个或者多个 part 组成。

web service 数据类型定义的容器,它使用某种类型系统(如 XSD)

web service 使用的通信协议,将一个抽象portType映射到一组具体协议(SOAO和HTTP)、消息传递样式、编码样式。

消息参数,指定引用types中定义的标签片段

特定端口类型的具体协议和数据格式规范,它由一个或者多个 Operation组成。

对服务所支持的操作进行抽象描述。

  • Soap

soap是一种传输协议,该协议使用的就是http协议。只不过HTTP传输的内容是HTML文本,而SOAP协议传输的是SOAP的数据。

指出绑定是针对soap协议格式的。Transport指定了传输协议。Style指定通信风格。有“rpc”和“document”两种风格。

为SOAP服务操作提供消息。通常可以指明此操作的soapActionHTTP头。

指出消息如何在soap header元素中表现

指出消息如何在soap body元素中表现。


Low Fare Search Req

Air.wsdl:

       
        
        
            
                
                    
                    
                
                
                    
                
                
                    
                
        
      

      
            
      

如上代码,是将name为AirLowFareSearchPortType的portType映射过来。
通信风格为document,传输协议为"http://schemas.xmlsoap.org/soap/http"。
...创建soap协议,定义协议内容。


AirAbstract.wsdl:

    
        
    
    
        
    
    
        
    
    
        
            
            
            
        
    

如上代码,定义一个端口为:AirLowFareSearchPortType,在该端口中定义了一个操作"service",操作 "service" 拥有一个名为 "tns:AirLowFareSearchReq" 的输入消息,一个名为 "tns:AirLowFareSearchRsp" 的输出消息,以及一个名为"ErrorInfoMsg"的失败返回消息,其中message属性则是调用上面,下的中的element则是调用对应xsd中的属性。注:若通信风格为rpc,则element需改为type。


你可能感兴趣的