Web 服务描述语言工具 (Wsdl.exe)

Web 服务描述语言工具从 WSDL 协定文件、XSD 架构和 .discomap 发现文档为 XML Web services 和 XML Web services 客户端生成代码。

wsdl [options] {URL | path}

备注

参数 说明

URL

指向 WSDL 协定文件 (.wsdl)、XSD 架构文件 (.xsd) 或发现文档 (.disco) 的 URL。 请注意,您不能将 URL 指定为 .discomap 发现文档。

Path

本地 WSDL 协定文件 (.wsdl)、XSD 架构文件 (.xsd) 或发现文档(.disco 或 .discomap)的路径。

Note注意:

在给定本地文件时,Wsdl.exe 不会检索网络上包含和导入的内容。 若要使 Wsdl.exe 可以在处理本地文件的同时检索网络资源,请传递本地文件的 URL。 例如,以下文件使用网络检索必需的资源:

wsdl File:///E:/Customers/WSDLS/Accounts.wsdl /out:proxy.cs

选项 说明

/appsettingurlkey:

/urlkey:

指定在生成代码时用于读取 URL 属性的默认值的配置键。 使用 /parameters 选项时,此值为 <appSettingUrlKey> 元素且包含一个字符串。

/appsettingbaseurl:基 URL

/baseurl:基 URL

指定计算 URL 片段时所使用的基 URL。 该工具通过将相对 URL 从 基 URL 参数转换为 WSDL 文档中的 URL 来计算 URL 片断。 使用此选项时,必须指定 /appsettingurlkey 选项。 使用 /parameters 选项时,此值为 <appSettingBaseUrl> 元素且包含一个字符串。

/d[omain]:

指定连接到要求身份验证的服务器时要使用的域名。 使用 /parameters 选项时,此值为 <domain> 元素且包含一个字符串。

/l[anguage]:语言

指定用于所生成的代理类的语言。 您可以指定 CS(C#;默认)、VB (Visual Basic)、JS (Jscript) 或 VJS (Visual J#) 作为语言参数。 还可以指定实现 System.CodeDom.Compiler.CodeDomProvider 类的类的完全限定名称。 使用 /parameters 选项时,此值为 <language> 元素且包含一个字符串。

/n[amespace]:命名空间

指定所生成的代理或模板的命名空间。 默认命名空间是全局命名空间。 使用 /parameters 选项时,此值为 <namespace> 元素且包含一个字符串。 此元素必须在参数文件中。

/nologo

取消显示 Microsoft 启动版权标志。 使用 /parameters 选项时,此值为 <nologo> 元素且包含 truefalse

/order

在粒子成员上生成显式顺序标识符。

/o[ut]:文件名目录名

指定用于保存所生成的代理代码的文件(或目录)。 也可以指定要在其中创建此文件的目录。 该工具将从 XML Web services 名称来导出默认的文件名。 该工具将生成的数据集保存在不同的文件中。 使用 /parameters 选项时,此值为 <out> 元素且包含一个字符串。

/parameters

从指定的 XML 文件中读取命令行选项。 使用此选项,一次可向 Wsdl.exe 工具传递大量选项。 此选项的缩写形式为 /par:。 选项元素包含在 <wsdlParameters xmlns="https://microsoft.com/webReference/"> 元素内。 有关详细信息,请参见“备注”部分。

/parsableerrors

以类似于语言编译器所使用的错误报告格式显示错误。 使用 /parameters 选项时,此值为 <parsableerrors> 元素,它可以是 truefalse

/p[assword]:密码

指定连接到要求身份验证的服务器时要使用的密码。 使用 /parameters 选项时,此值为 <password> 元素且包含一个字符串。

/protocol:协议

指定要实现的协议。 可以指定 SOAP(默认值)、HttpGet、HttpPost 或在配置文件中指定的自定义协议。 使用 /parameters 选项时,此值为 <protocol> 元素且包含一个字符串。

/proxy:URL

指定用于 HTTP 请求的代理服务器的 URL。 默认为使用系统代理设置。 使用 /parameters 选项时,此值为 <proxy> 元素且包含一个字符串。

/proxydomain:

/pd:

指定连接到要求身份验证的代理服务器时要使用的域。 使用 /parameters 选项时,此值为 <proxydomain> 元素且包含一个字符串。

/proxypassword:密码

/pp:密码

指定当连接到要求身份验证的代理服务器时要使用的密码。 使用 /parameters 选项时,此值为 <proxypassword> 元素且包含一个字符串。

/proxyusername:用户名

/pu:用户名

指定连接到要求身份验证的代理服务器时要使用的用户名。 使用 /parameters 选项时,此值为 <proxyusername> 元素且包含一个字符串。

/server

根据协定生成 XML Web services 的抽象类。 默认为生成客户端代理类。 使用 /parameters 选项时,此值为 <style> 元素且包含“server”。

/serverInterface

为 ASP.NET Web 服务的服务器实现生成接口。 为 WSDL 文档中的每个绑定生成一个接口。 WSDL 单独实现 WSDL 协定(实现接口的类不应在类方法中包括以下任一属性:更改 WSDL 协定的 Web 服务属性或序列化属性)。 此选项的缩写形式为 /si。 使用 /parameters 选项时,此值为 <style> 元素且包含“serverInterface”。

/sharetypes

启用类型共享功能。 此功能使用一个类型定义,为不同服务所共享的相同类型创建一个代码文件(命名空间、名称和连网签名必须相同)。 引用具有“http://”URL 的服务作为命令行参数,或为本地文件创建一个 discomap 文档。 使用 /parameters 选项时,此值为 <sharetypes> 元素,它可以是 truefalse

/u[sername]:用户名

指定连接到要求身份验证的服务器时要使用的用户名。 使用 /parameters 选项时,此值为 <username> 元素且包含一个字符串。

/?

显示该工具的命令语法和选项。

.wsdl 文件是一个使用称作 Web 服务描述语言 (WSDL) 的 XML 语法编写的 XML 文档。 此文件定义 XML Web services 的行为方式并指示客户端如何与该服务交互。

可以使用 Web 服务发现工具 (Disco.exe) 获得 XML Web services 的发现文档。 由此工具生成的 .discomap、.disco、.wsdl 和 .xsd 文件可以用作 Wsdl.exe 的输入。

当您使用 Wsdl.exe 创建代理类时,将用指定的编程语言创建一个源文件。 在为代理类生成源代码的过程中,该工具确定服务说明中指定的对象最适用的类型。 在某些情况下,该工具使用最小公分母方法将这些对象强制转换为某个类型。 因此,代理类中的生成类型可能不是开发人员想要或预期的类型。 例如,当 Wsdl.exe 遇到服务说明中的 ArrayList 类型时,它会在生成的代理类中创建一个 Object 数组。 若要确保对象类型强制转换正确,请打开包含生成的代理类的文件,然后将所有不正确的对象类型更改成所需的对象类型。

  • /parameters 选项指定一个文件,该文件包含与大多数命令提示符选项相对应的元素。 有些命令提示符选项只以 /parameters 文件格式提供。

/parameters 选项接受的 XML 文件格式是外部 <wsdlParameters xmlns="https://microsoft.com/webReference/"> 元素内的一系列元素。 如果指定了命令提示符值,并且使用了包含不同选项或值的 /parameters 文件,则使用在命令提示符处指定的值。 <wsdlParameters xmlns="https://microsoft.com/webReference/"> 元素必须包含一个 <nologo> 元素、一个 <parsableerrors> 元素和一个 <sharetypes> 元素。

多个选项作为 <webReferenceOptions> 元素(必须包含一个 <verbose> 元素)的子元素传递。 <webReferenceOptions> 的其他子元素为:

  • <style>。包含“client”、“server”或“serverInterface”。

  • <schemaImporterExtension>。包含任意数量的 <type> 元素。

  • <codeGenerationOptions>。可接受下列字符串的集合(由空格分隔)。

  • “properties”

  • “newAsync”

  • “oldAsync”

  • “order”

  • “enableDataBinding”

请参见下面的“示例”部分,以获取 /parameters 选项的一些演示。

示例

下面的命令用 C# 语言创建 XML Web services 的客户端代理类。

wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL

下面的命令用 C# 语言为位于指定 URL 处的 XML Web services 创建客户端代理类。 该工具将客户端代理类保存在 myProxyClass.cs 文件中。

wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL

下面的命令用 Microsoft Visual Basic 语言为位于指定 URL 处的 XML Web services 创建客户端代理类。 该工具将客户端代理类保存在 myProxyClass.vb 文件中。

wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL

下面的代码示例演示一个基本的 /parameters WSDL 文件,其中只编写了可在命令提示符处与 URL 参数结合使用的必需元素。

<wsdlParameters xmlns="https://microsoft.com/webReference/">
  <nologo>true</nologo>
  <parsableerrors>true</parsableerrors>
  <sharetypes>true</sharetypes>
</wsdlParameters>

WSDL 文档是通过 <documents> 元素添加到 /parameters WSDL 文件中的,如下面的代码示例所示。 在 <documents> 元素中可以使用任意数目的 <document> 元素。

<wsdlParameters xmlns="https://microsoft.com/webReference/">
  <nologo>true</nologo>
  <parsableerrors>true</parsableerrors>
  <sharetypes>true</sharetypes>
  <documents>
    <document>https://www.contoso.com/service.asmx?WSDL</document>
  </documents>
</wsdlParameters>

下面的 /parameters WSDL 文件演示 <webReferenceOptions> 元素内的 <codeGenerationOptions> 和 <style> 元素的用法。 在本示例中,文件在代理代码中启用了新的数据绑定样式,并指定了一个架构导入程序扩展。在此扩展中,输出不显示详细信息,客户端代理由 Wsdl.exe 创建。

<wsdlParameters xmlns="https://microsoft.com/webReference/">
  <nologo>true</nologo>
  <parsableerrors>true</parsableerrors>
  <sharetypes>true</sharetypes>
  <documents>
    <document>https://www.contoso.com/service.asmx?WSDL</document>
  </documents>
  <webReferenceOptions>
    <verbose>false</verbose>
    <codeGenerationOptions>properties newAsync enableDataBinding</codeGenerationOptions>
    <schemaImporterExtension>
      <type>MyNamespace.MyCustomImporterExtension,ExtensionLibrary</type>
    </schemaImporterExtensions>
    <style>client</style>
  </webReferenceOptions>
</wsdlParameters>

请参见

参考

Web 服务发现工具 (Disco.exe)

概念

创建 XML Web services 代理
XML Web services 说明
XML Web services 概述

其他资源

.NET Framework Tools
SDK Command Prompt

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。