WSDL 是 Web 服务描述语言,以 XML 格式定义 SOAP 服务的接口规范,含 types、message、portType、binding、service 五大核心部分,支持跨平台自动代码生成。

WSDL 文件是描述 SOAP 类型 Web 服务的“说明书”,它用标准 XML 格式写成,告诉开发者这个服务能做什么、怎么调用、参数长什么样、返回值是什么、地址在哪、走什么协议。
WSDL 是什么
全称 Web Services Description Language,即 Web 服务描述语言。它不是接口本身,而是对接口的完整书面说明——类似 REST 接口用 Swagger 文档描述,SOAP 接口就靠 WSDL。
它的核心价值在于:让不同语言、不同平台的系统能自动理解并调用对方的服务。只要拿到 WSDL,工具就能生成客户端代码(比如 Objective-C、Java、C# 的 stub 或 proxy),省去手动拼 SOAP 请求的麻烦。
WSDL 文件的根元素和命名空间
每个 WSDL 文件以
常见写法示例:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
targetNamespace="http://example.com/service">
WSDL 的五大核心部分
虽然 WSDL 元素有多个,但真正承担功能定义的是以下五个关键块,缺一不可:
-
:用 XML Schema(XSD)定义所有用到的数据类型,包括请求参数、响应字段、枚举、复杂对象等。它是整个服务的数据字典。 -
:定义一次通信中涉及的抽象消息,比如一个请求消息(含若干参数)、一个响应消息(含返回字段)、一个错误消息(fault)。每条 message 是一组 的集合,每个 part 关联一个 type。 -
:相当于“接口定义”,列出服务支持的所有操作(operation),每个 operation 包含 input(请求消息)、output(响应消息)、fault(异常消息)。它只讲“能做什么”,不涉及传输细节。 -
:把 portType 映射到具体协议(通常是 SOAP over HTTP)。它指定 style(rpc/document)、transport(http://schemas.xmlsoap.org/soap/http)、soapAction 等,并将每个 operation 绑定到对应的 SOAP 请求/响应格式。 -
:给出服务的实际访问地址(endpoint URL),每个 service 可包含多个 port,每个 port 关联一个 binding 和一个网络地址()。
辅助但实用的其他元素
除了五大主干,实际 WSDL 中还常见这些元素:
-
:用于引入外部 WSDL 或 XSD 文件,实现模块化和复用,尤其在大型 SOA 项目中很常见。 -
:人类可读的说明文字,可加在 definitions、portType、operation 等任意位置,方便团队协作理解意图。 - 命名约定中的 tns(target namespace)前缀:几乎每个 element、type、message 都会带 tns 前缀,表示属于本文件的 targetNamespace,这是解析和生成代码时的关键标识。









