使用 WSDL 文件


使用 WSDL 文件

WSDL 代表 Web 服务描述语言。它描述了 Web 服务并在分散或分布式环境中交换信息。它用于创建服务请求者和服务提供者之间的关系。它是一种基于XML的语言,用于描述基于 SOAP 的 Web 服务的功能

在本节中,我们将学习如何在SoapUI 中处理 WSDL 文件。

WSDL 的特点

WSDL 有以下特点:

  • 它是一种基于 XML 的语言,定义了如何在 SoapUI 中与基于 XML 的服务进行交互。
  • 它用于配置 SOAP 域中的节点。
  • 它用于描述 Web 服务的功能特性。
  • 它用于在 Web 服务中设置一个定义的端点,其中包含一组输入、输出和故障消息。
  • WSDL 是一种基于 XML 的语言,它与平台无关。
  • 它的发音是 wiz-dull,写成 WSDL。

Soap 和 XML 方面的 WSDL 模式:

WSDL 是构建 Web 应用程序的重要组件。它促进了基于多种语言构建的各种应用程序相互交互。WSDL 用作 SOAP 和 XML 模式的组合,通过 Internet 在客户端和 Web 服务之间提供通信。要读取 WSDL 文件,客户端程序必须连接到 Web 服务并指定连接到 Web 服务器所需的操作。

WSDL 文档元素

  • Definitions:它是包含一个或多个服务定义的 WSDL 文档的基本元素。
  • Types:Type 元素用于提供有关 WSDL 文档中使用的复杂数据类型的信息。
  • Message: 它包含用于客户端和 Web 服务器之间通信的抽象数据。它还定义了每个操作的数据元素。
  • portType:它包含一个或多个端点支持的抽象操作的集合。
  • Port:用于将单个端点定义为绑定地址。
  • Services:它是指定绑定端口地址的端点网络的集合。
  • Binding: 它指定操作和消息传递的具体协议和数据格式特性如何实现操作。

WSDL 文档的结构

以下代码片段显示了 WSDL 文档的结构。

<definitions>  
        <types>  
                Definition of types goes here.  
       </types>  

       <message>  
               Definition of a message goes here.  
       </message>  

      <portType>  
         <operation>  
             Definition of an operation goes here.  
        </operation>  
     </portType>  

     <binding>  
           Definition of a binding goes here.  
     </binding>  

   <service>  
          Definition of service goes here.  
       </service>  
</definition>

我们还可以添加其他元素,例如扩展元素和服务元素,这些元素组合到单个 WSDL 文档中,其中包含多个 Web 服务的可能定义。

以下是SoapUI工具中支持端点的WSDL的四大传输。

  1. 单程
  2. 请求和响应
  3. 征求回应
  4. 通知

单向:单向服务只能接收单向消息。这意味着客户端可以通过使用单个输入元素执行操作来向服务器发送请求。

<wsdl:definitions .... >    
   <wsdl:portType name="getListCountriesSoap">  
      <wsdl:operation name = "getCountries ">   
<wsdl:input message="tns:getCountriesSoapIn"/>  
      </wsdl:operation>   
   </wsdl:portType >   
</wsdl:definitions>

请求和响应:请求和响应服务用于向服务器发送请求并从 Web 服务器接收响应。它有两个操作元素。第一个输入元素之后是另一个元素,用于在 Web 服务中发送和接收请求和响应。

<wsdl:definitions ?.>  
<wsdl:portType name="getListCountriesSoap">  
<wsdl:operation name="getCountries">  
<wsdl:input message="tns:getCountriesSoapIn"/>  
<wsdl:output message="tns:getCountriesSoapOut"/>  
</wsdl:operation>  
</wsdl:portType>  
</wsdl:definitions>

请求响应:请求响应由涉及两个输入元素的操作组成。第一个输入元素包含对客户端的服务器请求,然后是客户端对服务器的响应的一个输入元素。

<wsdl:definitions ?.>  
<wsdl:portType name="getListCountriesSoap">   
<wsdl:operation name="getCountries" parameterOrder ="getListCountries">  
<wsdl:output name="getCountries"? message="tns:getCountriesSoapOut"/>  
<wsdl:input name="getCountries"? message="tns:getCountriesSoapIn"/>  
<wsdl:fault name = " getCountries " message = "tns:getCountries"/>  
</wsdl:operation>  
</wsdl:portType>  
</wsdl:definitions>

通知:服务器向客户端机器发送信息或消息。因此,通知由一个操作组成,该操作包括一个用于向客户端发送通知的输入元素。

<wsdl:definitions .... >   
   <wsdl:portType name="getListCountriesSoap" >   
      <wsdl:operation name = " getCountries ">   
         <wsdl:output name = " getCountries "? message = " tns:getCountriesSoapOut "/>   
      </wsdl:operation>   
   </wsdl:portType >   
</wsdl:definitions>

创建 WSDL 文件

要创建 WSDL 文件,我们必须遵循以下步骤:

步骤 1:转到File -> New SOAP Project

使用 WSDL 文件

第 2 步:点击New SOAP Project;它显示以下屏幕。

使用 WSDL 文件

步骤 3:在初始 WSDL 文本框中键入以下 WSDL URL,如下所示。

https://www.jimpisoft.pt/Rentway_Reservations_WS/getCountries.asmx?WSDL

之后单击“确定”按钮。

使用 WSDL 文件

它会自动设置项目名称。我们还可以在 WSDL URL 初始化期间更改项目名称。

使用 WSDL 文件

第 4 步: SoapUI 会将指定的 WSDL URL内容加载并解析到对象模型中,如下所示。

使用 WSDL 文件

注意:当我们处理一个项目时,SoapUI 会将 WSDL 文件保存到缓存中以避免不必要的请求。要在 SoapUI 中使用 WSDL 文件,我们需要将缓存定义的属性设置为 FALSE。

探索 WSDL

我们可以通过双击 Navigator 打开编辑器来探索 WSDL 文件的服务。

概览选项卡用于显示 WSDL 文件的一般信息,例如:

  • WSDL Definition
  • WSDL URL
  • Namespace
  • Binding
  • Soap Version
  • Style
  • Definition Parts
  • Operations

使用 WSDL 文件

服务端点用于包括WSDL文件接口的端点。此外,我们可以为需要身份验证的 WSDL 服务指定多个端点。

使用 WSDL 文件

WSDL内容提供的WSDL文件的详细信息。

使用 WSDL 文件