Condividi tramite


Strumento del linguaggio di descrizione dei servizi Web (Wsdl.exe)

Questo argomento è specifico di una tecnologia legacy. Servizi Web XML e client di servizi Web XML devono essere creati attualmente tramite Windows Communication Foundation.

Lo strumento del linguaggio di descrizione dei servizi Web consente di generare codice per servizi Web XML e client del servizio Web XML da file di contratto WSDL, schemi XSD e documenti di individuazione discomap.

7h3ystb6.note(it-it,VS.100).gifNota:
È possibile che WSDL.exe generi classi con nomi come "@string". Si tratta di nomi di tipo validi che utilizzano il prefisso '@' per consentire nomi di tipo costituiti da una parola chiave C#.

wsdl [options] {URL | path}

Osservazioni

Argomento Descrizione

URL

URL di un file di contratto WSDL (.wsdl), di un file di schema XSD (.xsd) o di un documento di individuazione (.disco). Non è possibile specificare un URL di un documento di individuazione discomap.

Percorso

Percorso di un file di contratto WSDL locale (.wsdl), di un file di schema XSD (.xsd) o di un documento di individuazione (.disco o .discomap).

7h3ystb6.note(it-it,VS.100).gifNota:
Wsdl.exe non recupera include e import dalla rete quando riceve un file locale. Per consentire a Wsdl.exe di recuperare risorse di rete durante l'elaborazione di un file locale, passare un URL al file locale. Ad esempio, nel file seguente viene utilizzata la rete per recuperare le risorse necessarie: wsdl File:///E:/Customers/WSDLS/Accounts.wsdl /out:proxy.cs

Opzione Descrizione

/l'appsettingurlkey:key

o

/l'urlkey:key

Consente di specificare la chiave di configurazione da utilizzare per leggere il valore predefinito della proprietà URL quando si genera codice. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <appSettingUrlKey> e contiene una stringa.

/l'appsettingbaseurl:baseurl

o

/il baseurl:baseurl

Consente di specificare l'URL di base da utilizzare quando si calcola il frammento di URL. Lo strumento calcola il frammento di URL convertendo l'URL relativo dall'argomento baseurl nell'URL presente nel documento WSDL. Con questa opzione è necessario specificare l'opzione /appsettingurlkey. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <appSettingBaseUrl> e contiene una stringa.

/d[l'omain]:domain

Consente di specificare il nome di dominio da utilizzare per la connessione a un server che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <domain> e contiene una stringa.

/l[l'anguage]:language

Consente di specificare il linguaggio da utilizzare per la classe proxy generata. Come argomento del linguaggio è possibile specificare CS (C#; impostazione predefinita), VB (Visual Basic), JS (JScript) o VJS (Visual J#). È inoltre possibile specificare il nome completo di una classe che implementa la classe System.CodeDom.Compiler.CodeDomProvider. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <language> e contiene una stringa.

/n[amespace]:namespace

Consente di specificare lo spazio dei nomi per il modello o il proxy generato. Lo spazio dei nomi predefinito corrisponde allo spazio dei nomi globale. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <namespace> e contiene una stringa. Questo elemento deve essere incluso nel file dei parametri.

/nologo

Evita la visualizzazione del messaggio di avvio Microsoft. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <nologo>true e può essere false or .

/order

Genera identificatori di ordine espliciti sui membri particella.

/o[l'ut]:filename o directoryname

Consente di specificare il file (o la directory) in cui salvare il codice proxy generato. È possibile anche specificare una directory in cui creare questo file. Lo strumento deduce il nome del file predefinito dal nome del servizio Web XML. I set di dati generati vengono salvati in file diversi. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <out> e contiene una stringa.

/parameters

Legge le opzioni della riga di comando dal file XML specificato. Utilizzare questa opzione per passare più opzioni alla volta allo strumento Wsdl.exe. La forma abbreviata è /par:. All'interno di un elemento <wsdlParameters xmlns="https://microsoft.com/webReference/"> sono inclusi elementi facoltativi. Per informazioni dettagliate, vedere la sezione Osservazioni.

/parsableerrors

Consente di visualizzare gli errori in un formato simile a quello per la segnalazione degli errori utilizzato dai compilatori dei linguaggi. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <parsableerrors>true e può essere false o .

/p[assword]:password

Consente di specificare la password da utilizzare per la connessione a un server che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <password> e contiene una stringa.

/protocol:protocol

Consente di specificare il protocollo da implementare. È possibile specificare SOAP (impostazione predefinita), HttpGet, HttpPost o un protocollo personalizzato specificato nel file di configurazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <protocol> e contiene una stringa.

/proxy:URL

Consente di specificare l'URL del server proxy da utilizzare per le richieste HTTP. Per impostazione predefinita, viene utilizzato il proxy impostato per il sistema. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <proxy> e contiene una stringa.

/proxydomain:domain

o

/pd:domain

Consente di specificare il dominio da utilizzare per la connessione a un server proxy che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <proxydomain> e contiene una stringa.

/proxypassword:password

o

/pp:password

Consente di specificare la password da utilizzare per la connessione a un server proxy che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <proxypassword> e contiene una stringa.

/proxyusername:username

o

/pu:username

Consente di specificare il nome utente da utilizzare per la connessione a un server proxy che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <proxyusername> e contiene una stringa.

/server

Consente di generare una classe astratta per un servizio Web XML basato su contratti. Per impostazione predefinita, vengono generate classi proxy client. Quando si utilizza l'opzione /parameters, questo valore corrisponde a un elemento <style> contenente "server".

/serverInterface

Consente di generare interfacce per l'implementazione server di un servizio Web ASP.NET. Un'interfaccia viene generata per ogni associazione nei documenti WSDL. Il WSDL implementa il contratto WSDL. Le classi che implementano l'interfaccia non devono includere nei metodi delle classi attributi Web Service o attributi Serialization che modificano il contratto WSDL. La forma abbreviata è /si. Quando si utilizza l'opzione /parameters, questo valore corrisponde a un elemento <style> contenente "servicerInterface".

/sharetypes

Attiva la funzionalità di condivisione dei tipi che consente di creare un file di codice con un'unica definizione di tipo per tipi identici condivisi tra diversi servizi (lo spazio dei nomi, il nome e la firma di rete devono essere identici). Fare riferimento ai servizi con URL "http://" come parametri della riga di comando oppure creare un documento discomap per i file locali. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <sharetypes>true e può essere false o .

/u[sername]:username

Consente di specificare il nome utente da utilizzare per la connessione a un server che richiede l'autenticazione. Quando si utilizza l'opzione /parameters, questo valore corrisponde all'elemento <username> e contiene una stringa.

/?

Visualizza la sintassi e le opzioni dei comandi dello strumento.

Un file WSDL è un documento XML scritto in una grammatica XML denominata linguaggio di descrizione dei servizi Web (WSDL, Web Service Description Language). In questo file si definisce il comportamento di un servizio Web XML e si indicano ai client le modalità di interazione con il servizio.

Per ottenere documenti di individuazione per un servizio Web XML, è possibile utilizzare lo strumento di individuazione Servizi Web (Disco.exe). I file discomap, disco, wsdl e xsd prodotti da questo strumento possono essere utilizzati come input per Wsdl.exe.

Quando lo strumento Wsdl.exe viene utilizzato per creare una classe proxy, viene generato un singolo file di origine nel linguaggio specificato. Durante la generazione del codice sorgente per la classe proxy, viene determinato il tipo migliore da utilizzare per gli oggetti specificati nella descrizione del servizio. In alcuni casi, viene utilizzato l'approccio del minimo comune denominatore per eseguire il cast di oggetti su un tipo. Di conseguenza, il tipo generato nella classe proxy potrebbe non corrispondere alle previsioni o ai desideri dello sviluppatore. Quando ad esempio viene rilevato un tipo ArrayList in una descrizione del servizio, viene creato un Object Array nella classe proxy generata. Per garantire il cast dell'oggetto su un tipo corretto, aprire il file contenente la classe proxy generata e modificare i tipi di oggetti non corretti nel tipo di oggetto previsto.

  • L'opzione /parameters consente di specificare un file contenente elementi che corrispondono alla maggior parte delle opzioni del prompt dei comandi. Alcune di queste sono disponibili solo nei formati di file /parameters.

Il formato di file XML accettato dall'opzione /parameters è costituito da una serie di elementi all'interno di un elemento <wsdlParameters xmlns="https://microsoft.com/webReference/"> più esterno. Se si specificano valori al prompt dei comandi e si utilizza un file /parameters contenente opzioni o valori differenti, verranno utilizzati i valori specificati al prompt dei comandi. L'elemento <wsdlParameters xmlns="https://microsoft.com/webReference/"><nologo> deve contenere un elemento <parsableerrors>, <sharetypes> e .

Diverse opzioni vengono passate come elementi figlio dell'elemento <webReferenceOptions><verbose>, che deve contenere un elemento . Altri elementi figlio di <webReferenceOptions> comprendono:

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

  • <schemaImporterExtension>. Contiene un numero qualsiasi di elementi <type>.

  • <codeGenerationOptions>. Può accettare un insieme delimitato da spazi delle seguenti stringhe.

  • "properties"

  • "newAsync"

  • "oldAsync"

  • "order"

  • "enableDataBinding"

Per alcuni esempi di utilizzo dell'opzione /parameters, vedere la sezione seguente relativa agli esempi.

Esempi

Il comando riportato di seguito consente di creare una classe proxy client in linguaggio C# per il servizio Web XML.

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

Il comando riportato di seguito consente di creare una classe proxy client in linguaggio C# per un servizio Web XML disponibile all'URL specificato. La classe proxy client viene salvata nel file myProxyClass.cs.

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

Il comando riportato di seguito consente di creare una classe proxy client in linguaggio Microsoft Visual Basic per un servizio Web XML disponibile all'URL specificato. La classe proxy client viene salvata nel file myProxyClass.vb.

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

Nel codice di esempio riportato di seguito viene illustrato un file WSDL /parameters di base, contenente solo gli elementi obbligatori, che è possibile utilizzare insieme a un argomento URL al prompt dei comandi.

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

I documenti WSDL vengono aggiunti nel file WSDL /parameters mediante l'elemento <documents>, come illustrato nel seguente esempio di codice. Nell'elemento <documents> è possibile utilizzare un numero qualsiasi di elementi <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>

Nel file WSDL /parameters riportato di seguito viene illustrato l'utilizzo degli elementi <codeGenerationOptions> e <style> all'interno di <webReferenceOptions>. In questo caso, nel file sono incluse le opzioni per abilitare il nuovo stile di associazione dati nel codice proxy, specificare un'estensione di importazione dello schema, impostare la modalità non dettagliata per l'output e richiedere la creazione di un proxy client.

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

Vedere anche

Riferimento

Strumento di individuazione servizi Web (Disco.exe)

Concetti

Creazione di un proxy del servizio Web XML
Descrizione del servizio Web XML
Panoramica dei servizi Web XML

Altre risorse

.NET Framework Tools
SDK Command Prompt