Herramienta Lenguaje de descripción de servicios web (Wsdl.exe)

Esta herramienta genera código para servicios web XML y clientes de servicios web XML de ASP.NET a partir de archivos de contrato WSDL, esquemas XSD y documentos de descubrimiento (.discomap).

wsdl [options] {URL | path}

Comentarios

Argumento Descripción

Dirección URL

Dirección URL de un archivo de contrato WSDL (.wsdl), de un archivo de esquemas XSD (.xsd) o de un documento de descubrimiento (.disco). Hay que tener en cuenta que no se puede especificar una dirección URL de un documento de descubrimiento (.discomap).

Ruta de acceso

Ruta de acceso a un archivo local de contrato WSDL (.wsdl), a un archivo de esquema XSD (.xsd) o a un documento de descubrimiento (.disco o .discomap).

Nota:
Wsdl.exe no recupera inclusiones e importaciones de la red cuando se proporciona un archivo local. Para permitir que Wsdl.exe recupere recursos de red al procesar un archivo local, pase una dirección URL al archivo local. Por ejemplo, el archivo siguiente usa la red para recuperar los recursos necesarios: wsdl File:///E:/Customers/WSDLS/Accounts.wsdl /out:proxy.cs
Opción Descripción

/appsettingurlkey:clave

O bien

/urlkey:clave

Especifica la clave de configuración que se usa para leer el valor predeterminado de la propiedad de dirección URL cuando se genera código. Cuando se usa la opción /parameters, este valor es el elemento <appSettingUrlKey> y contiene una cadena.

/appsettingbaseurl:direcciónurlbase

O bien

/baseurl:direcciónurlbase

Especifica la dirección URL base que se utiliza al calcular el fragmento de dirección URL. Esta herramienta calcula el fragmento de dirección URL convirtiendo la dirección URL relativa desde el argumento direcciónurlbase en la dirección URL que contiene el documento WSDL. Con esta opción se debe especificar la opción /appsettingurlkey. Cuando se usa la opción //parameters, este valor es el elemento <appSettingBaseUrl> y contiene una cadena.

/d[omain]:dominio

Especifica el nombre del dominio que se utiliza para conectarse a un servidor que requiera autenticación. Cuando se usa la opción /parameters, este valor es el elemento <domain> y contiene una cadena.

/l[anguage]:lenguaje

Especifica el lenguaje que se utiliza para la clase de proxy generada. Como argumento de lenguaje puede especificar CS (C#; valor predeterminado), VB (Visual Basic), JS (JScript) o VJS (Visual J#). También se puede especificar el nombre completo de la clase que implementa System.CodeDom.Compiler.CodeDomProvider (Clase). Cuando se usa la opción /parameters, este valor es el elemento <language> y contiene una cadena.

/n[amespace]:espaciodenombres

Especifica el espacio de nombres del proxy o plantilla generados. La opción predeterminada es el espacio de nombres global. Cuando se usa la opción /parameters, este valor es el elemento <namespace> y contiene una cadena. Este elemento debe estar en el archivo de parámetros.

/nologo

Suprime la presentación de la portada de inicio de Microsoft. Cuando se utiliza la opción /parameters, este valor es el elemento <nologo> y contiene true o false.

/order

Genera identificadores de orden explícitos en miembros de partícula.

/o[ut]:nombredearchivo o nombrededirectorio

Especifica el archivo (o directorio) en el que se guarda el código proxy generado. También puede especificar un directorio en el que se podrá crear este archivo. La herramienta deriva el nombre de archivo predeterminado del nombre de servicio web XML. La herramienta guarda los conjuntos de datos generados en varios archivos. Cuando se usa la opción /parameters, este valor es el elemento <out> y contiene una cadena.

/parameters

Lee las opciones de línea de comandos del archivo XML especificado. Use esta opción para pasar un gran número de opciones de una vez a la herramienta Wsdl.exe. La forma abreviada es /par:. Los elementos de opción se encuentran en un elemento <wsdlParameters xmlns="https://microsoft.com/webReference/">. Para obtener más detalles al respecto, consulte la sección Comentarios.

/parsableerrors

Muestra los errores en un formato similar al formato de los informes de errores que usan los compiladores de lenguajes. Cuando se usa la opción /parameters, este valor es el elemento <parsableerrors> y es true o false.

/p[assword]:contraseña

Especifica la contraseña que se utiliza para conectarse a un servidor que requiere autenticación. Cuando se usa la opción /parameters, este valor es el elemento <password> y contiene una cadena.

/protocol:protocolo

Especifica el protocolo que se implementa. Se puede especificar SOAP (el valor predeterminado), HttpGet, HttpPost o el protocolo personalizado que se especifique en el archivo de configuración. Cuando se usa la opción /parameters, este valor es el elemento <protocol> y contiene una cadena.

/proxy:direcciónURL

Especifica la dirección URL del servidor proxy usada para las solicitudes HTTP. La opción predeterminada es que se use la configuración del sistema proxy. Cuando se usa la opción /parameters, este valor es el elemento <proxy> y contiene una cadena.

/proxydomain:dominio

O bien

/pd:dominio

Especifica el dominio que se usa para conectarse a un servidor proxy que requiere autenticación. Cuando se usa la opción /parameters, este valor es el elemento <proxydomain> y contiene una cadena.

/proxypassword:contraseña

O bien

/pp:contraseña

Especifica la contraseña que se usa para conectarse a un servidor proxy que requiere autenticación. Cuando se usa la opción /parameters, este valor es el elemento <proxypassword> y contiene una cadena.

/proxyusername:nombredeusuario

O bien

/pu:nombredeusuario

Especifica el nombre de usuario que se usa para conectarse a un servidor proxy que requiere autenticación. Cuando se usa la opción /parameters, este valor es el elemento <proxyusername> y contiene una cadena.

/server

Genera una clase abstracta para un servicio web XML basada en contratos. El valor predeterminado es que se generen clases de proxy cliente. Cuando se usa la opción /parameters, este valor es un elemento <style> que contiene el valor "server".

/serverInterface

Genera interfaces para la implementación en el servidor de un servicio web ASP.NET. Para cada enlace en los documentos WSDL se genera una interfaz. WSDL por sí solo implementa el contrato WSDL (las clases que implementan la interfaz no deben incluir lo siguiente en los métodos de clase: atributos de servicio web o atributos de serialización que cambien el contrato WSDL). La forma abreviada es /si. Cuando se usa la opción /parameters, este valor es un elemento <style> que contiene el valor "serverInterface".

/sharetypes

Activa la característica de uso compartido de tipos. Esta característica permite crear un archivo de código con una definición de tipo única para tipos idénticos que comparten distintos servicios (el espacio de nombres, el nombre y la firma de conexión deben ser idénticos). Haga referencia a los servicios con direcciones URL "http://" como parámetros de línea de comandos o cree un documento discomap para los archivos locales. Cuando se usa la opción /parameters, este valor es el elemento <sharetypes> y es true o false.

/u[sername]:nombredeusuario

Especifica el nombre de usuario que se utiliza para conectarse a un servidor que requiera autenticación. Cuando se usa la opción /parameters, este valor es el elemento <username> y contiene una cadena.

/?

Muestra la sintaxis de comandos y opciones para la herramienta.

Un archivo .wsdl es un documento XML escrito con una gramática denominada Lenguaje de descripción de servicios Web (WSDL). En este archivo se describe cómo se comporta un servicio web XML y cómo se instruye a los clientes para que interactúen con el servicio.

Los documentos de descubrimiento de un servicio web XML se pueden obtener utilizando la herramienta Descubrimiento de servicios Web (Disco.exe). Los archivos que crea esta herramienta, .discomap, .disco, .wsdl y .xsd, se pueden usar como entrada para Wsdl.exe.

Cuando se utiliza Wsdl.exe para crear una clase de proxy, se crea un único archivo de código fuente en el lenguaje de programación especificado. Durante el proceso de generación del código fuente para la clase de proxy, la herramienta determina el tipo más adecuado para utilizarlo con los objetos especificados en la descripción de servicio. En algunos casos, la herramienta usa un enfoque de denominador menos común para convertir los objetos a un tipo determinado. Como consecuencia, es posible que el tipo generado en la clase de proxy no sea el que desea o espera el programador. Por ejemplo, cuando Wsdl.exe encuentra un tipo ArrayList en una descripción de servicio, crea Object Array en la clase de proxy generada. Para garantizar que las conversiones de tipo de objeto sean correctas, abra el archivo que contiene la clase de proxy generada y cambie los tipos de objeto incorrectos al tipo de objeto esperado.

  • La opción /parameters especifica un archivo que contiene elementos que se corresponden con la mayoría de las opciones de símbolo del sistema. Algunas opciones del símbolo del sistema sólo están disponibles en los formatos de archivo /parameters.

El formato del archivo XML aceptado por la opción /parameters está formado por una serie de elementos incluidos dentro de un elemento <wsdlParameters xmlns="https://microsoft.com/webReference/"> exterior. Si se especifican valores del símbolo del sistema y se usa un archivo /parameters que contiene distintas opciones o valores, se utilizan los valores especificados en el símbolo del sistema. El elemento <wsdlParameters xmlns="https://microsoft.com/webReference/"> debe incluir un elemento <nologo>, un elemento <parsableerrors> y un elemento <sharetypes>.

Se pasan varias opciones como elementos secundarios del elemento <webReferenceOptions>, que debe incluir un elemento <verbose>. Otros elementos secundarios de <webReferenceOptions> son los siguientes:

  • <style>. Contiene un valor "client", "server" o "serverInterface".

  • <schemaImporterExtension>. Contiene cualquier número de elementos <type>.

  • <codeGenerationOptions>. Puede obtener un conjunto delimitado por espacios de las siguientes cadenas.

  • "properties"

  • "newAsync"

  • "oldAsync"

  • "order"

  • "enableDataBinding"

Consulte la siguiente sección Ejemplos para obtener algunas demostraciones de la opción /parameters.

Ejemplos

El siguiente comando crea una clase de proxy de cliente en lenguaje C# para el servicio web XML.

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

El siguiente comando crea una clase de proxy cliente en lenguaje C# para un servicio web XML ubicado en la dirección URL especificada. La herramienta guarda la clase de proxy cliente en el archivo myProxyClass.cs.

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

El siguiente comando crea una clase de proxy cliente en lenguaje Visual Basic de Microsoft para un servicio web XML ubicado en la dirección URL especificada. La herramienta guarda la clase de proxy cliente en el archivo myProxyClass.vb.

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

En el siguiente código de ejemplo se muestra un archivo WSDL /parameters básico, que sólo tiene escritos los elementos requeridos que se pueden usar en combinación con un argumento URL en el símbolo del sistema.

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

Los documentos WSDL se agregan al archivo WSDL /parameters mediante el elemento <documents>, como se muestra en el siguiente ejemplo de código. Se puede usar cualquier número de elementos <document> dentro del elemento <documents>.

<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>

En el siguiente archivo WSDL /parameters se muestra el uso de los elementos <codeGenerationOptions> y <style> dentro del elemento <webReferenceOptions>. En este caso, el archivo permite el nuevo estilo de enlace de datos en el código proxy, y especifica una extensión de importador de esquemas, que los resultados no deben ser detallados y que Wsdl.exe debe crear un servidor proxy de cliente.

<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>

Consulte también

Referencia

Herramienta Descubrimiento de servicios web (Disco.exe)

Conceptos

Crear un proxy de servicio web XML
Descripción del servicio web XML
Información general de servicios web XML

Otros recursos

.NET Framework Tools
SDK Command Prompt

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.