WSDL - <definition> 元素

<definitions> 元素必须是所有 WSDL 文档的根元素。它定义 Web 服务的名称。

以下是上一章中使用 definitions 元素的一段代码。

<definitions name="HelloService"
   targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   ................................................
</definitions>

从上面的例子中,我们可以得出结论:definitions

  • 是所有其他元素的容器。

  • 指定此文档名为 HelloService

  • 指定 targetNamespace 属性。targetNamespace 是 XML Schema 的约定,允许 WSDL 文档引用自身。在此示例中,我们已指定 targetNamespace http://www.examples.com/wsdl/HelloService.wsdl

  • 指定默认命名空间:xmlns=http://schemas.xmlsoap.org/wsdl/。因此,所有没有命名空间前缀的元素(例如 messageportType)都被视为默认 WSDL 命名空间的一部分。

  • 指定在文档其余部分使用的众多命名空间。

注意 − 命名空间规范不要求文档存在于给定位置。重点是,您指定的值是唯一的,不同于定义的所有其他命名空间。