Individuazione di servizi Web
Aggiornamento: novembre 2007
In alcune occasioni si svolge il duplice ruolo di provider e consumer di un servizio Web. Quando ciò accade è probabile che sia nota la posizione e la funzione del servizio Web. In altre occasioni è possibile che si acceda a un servizio Web fornito da altri. In tal caso, non è detto che si sia a conoscenza dell'esistenza di un servizio Web rispondente alle proprie esigenze.
Riferimenti Web
Per semplificare il modello di codifica, le applicazioni scritte in codice gestito utilizzano un riferimento Web per rappresentare ciascun servizio Web a livello locale. Tale riferimento viene aggiunto al progetto utilizzando la finestra di dialogo Aggiungi riferimento Web, che consente di effettuare ricerche nel server locale, in Microsoft UDDI Directory e in Internet a livello più generale. I provider di servizi Web pubblicizzano i servizi offerti in appositi elenchi, consultati dai consumatori di servizi Web che vi eseguono ricerche. Per ulteriori informazioni, vedere Directory di servizi Web XML.
Nella finestra di dialogo Aggiungi riferimento Web viene utilizzato il processo di individuazione del servizio Web per trovare servizi Web idonei in siti Web accessibili direttamente dal suo interno. Per un determinato indirizzo viene interrogato il sito Web attraverso un algoritmo appositamente studiato per individuare i documenti di descrizione del servizio Web che seguono la grammatica del linguaggio WSDL (Web Services Description Language). Per ulteriori informazioni, vedere Individuazione di servizi Web XML e Descrizione del servizio Web XML.
Una volta individuato un servizio Web a cui l'applicazione può accedere utilizzando la finestra di dialogo Aggiungi riferimento, il pulsante Aggiungi riferimento consentirà di scaricare la descrizione del servizio sul computer locale e di generare quindi una classe proxy per il servizio Web scelto. La classe proxy conterrà metodi per effettuare la chiamata a ciascun metodo del servizio Web esposto, sia in modo sincrono che asincrono. Questa classe è contenuta nel file code-behind del file con estensione WSDL locale. Per ulteriori informazioni, vedere Riferimenti Web in Visual Studio e Finestra di dialogo Aggiungi riferimento Web.
È possibile utilizzare la proprietà URL riferimento Web per specificare l'URL del servizio Web. Nella finestra di dialogo Aggiungi riferimento Web, tale proprietà viene impostata automaticamente sull'URL del servizio Web selezionato, che è un URL statico. Per un riferimento Web è possibile utilizzare un URL sia statico che dinamico.
Se viene mantenuto il valore statico predefinito per il comportamento dell'URL, nella classe proxy la proprietà URL verrà impostata mediante un URL stabilito a livello di codice durante la creazione di un'istanza della classe.
Se la proprietà relativa al comportamento dell'URL del riferimento Web viene invece impostata come dinamica, l'applicazione otterrà l'URL in fase di esecuzione dall'Elemento appSettings (schema delle impostazioni generali) del file di configurazione dell'applicazione. Se dopo aver aggiunto un riferimento Web si specifica un URL dinamico, Visual Studio aggiornerà la classe proxy in modo da ottenere l'URL dal file di configurazione.
<appSettings>
<add key="myApplication.myServer.Service1"
value="http://myServer/myWebService/Service1.asmx"/>
</appSettings>
Quando si crea un'istanza di un oggetto proxy, è possibile anche impostare la proprietà URL dell'oggetto nell'applicazione.
Indipendentemente dall'URL utilizzato dal proxy, esso dovrà essere relativo a un servizio Web conforme a un WSDL corrispondente a quello utilizzato per aggiungere il riferimento Web.
In alternativa, è possibile generare una classe proxy utilizzando uno strumento (lo strumento del linguaggio di descrizione dei servizi Web) simile a quello utilizzato da Visual Studio per creare una classe proxy durante l'aggiunta di un riferimento Web. Tale operazione è necessaria quando non è possibile accedere al servizio Web dal computer in cui è installato Visual Studio, ad esempio nei casi in cui il servizio Web si trova in una rete non accessibile al client fino alla fase di esecuzione. Il file generato dall'utilità viene aggiunto manualmente al progetto dell'applicazione. Per ulteriori informazioni, vedere Procedura: generare un proxy di servizio Web.
Vedere anche
Concetti
Creazione di client dei servizi Web XML
Descrizione del servizio Web XML