Opzioni di configurazione per i servizi Web XML creati con ASP.NET

La configurazione dei servizi Web XML segue il medesimo paradigma utilizzato da tutte le applicazioni Web ASP.NET. La configurazione ASP.NET è un'architettura di configurazione di file di testo basati su XML, estensibile e al tempo stesso potente. Un file di configurazione è un insieme di elementi XML che rappresentano le opzioni di configurazione per una funzionalità tecnica specifica di Microsoft .NET Framework. Nel caso dei servizi Web XML le opzioni di configurazione sono incapsulate nell'elemento XML webServices di un file di configurazione. Per ulteriori informazioni sull'architettura della configurazione ASP.NET, vedere Configurazione di ASP.NET. Per un elenco completo delle opzioni di configurazione disponibili per i servizi Web XML, vedere l'elemento <webServices>.

Configurazione dei protocolli di messaggistica e della pagina della Guida del servizio

I protocolli di messaggistica e la pagina della Guida dei servizi Web XML possono essere configurati nell'elemento XML <protocols> sotto l'elemento <webServices> dei file di configurazione. La configurazione viene effettuata aggiungendo (<add>) e rimuovendo (<remove>) elementi per ciascuna impostazione, specificando se l'impostazione è disponibile per l'ambito del file di configurazione. Con l'elemento <add> si aggiunge esplicitamente il supporto dell'impostazione per l'ambito del file di configurazione, mentre con l'elemento <remove> si rimuove il supporto aggiunto più su nella gerarchia di configurazione. È ad esempio possibile aggiungere un'impostazione di un protocollo a livello del computer utilizzando un elemento <add> nel file Machine.config e rimuoverla a livello di un'applicazione Web utilizzando un elemento <remove> in un file Web.config. La sintassi degli elementi <add> e <remove> è riportata di seguito:

<{add|remove} name="protocol name" />

Per l'attributo name degli elementi <add> e <remove> sono disponibili le seguenti opzioni:

Impostazione Descrizione
HttpSoap Consente di controllare il supporto di SOAP sul protocollo HTTP per i servizi Web XML. Il supporto viene aggiunto automaticamente all'installazione.
HttpGet Consente di controllare il supporto del protocollo HTTP-GET per i servizi Web XML. Il supporto non viene aggiunto automaticamente all'installazione.
HttpPost Consente di controllare il supporto del protocollo HTTP-POST per i servizi Web XML indipendentemente dalla provenienza della richiesta. Il supporto non viene aggiunto automaticamente all'installazione.
HttpPostLocalhost Consente di controllare il supporto del protocollo HTTP-POST per i servizi Web XML quando la richiesta proviene dal computer locale. Se si aggiunge HttpPost alla configurazione corrente, questa impostazione non avrà effetto. Il supporto viene aggiunto automaticamente all'installazione.
Documentation Consente di specificare se verrà visualizzata una pagina con la Guida del servizio quando un utente accede all'URL di un servizio Web XML senza utilizzare parametri. Il supporto viene aggiunto automaticamente all'installazione.

**Nota   **Con l'installazione di **.**NET Framework versione 1.0, le impostazioni HttpSoap, HttpGet, HttpPost e Documentation vengono attivate automaticamente a livello del computer.

Consigli per la protezione

Prima di abilitare i protocolli HTTP-GET o HTTP-POST per un servizio Web XML, occorre considerare che in questo modo è possibile esporre il servizio a chiamate involontarie. Se ad esempio un utente ignaro riceve un messaggio di posta elettronica con un collegamento al servizio, quando vi farà clic il servizio Web XML verrà richiamato con i parametri forniti nel messaggio di posta elettronica. Prima di abilitare i protocolli HTTP-GET o HTTP-POST, è necessario valutare se tale chiamata involontaria può comportare pericoli.

Per disattivare i protocolli HTTP-GET e HTTP-POST per l'intero computer

  1. Aprire il file Machine.config con un editor di testo. Con l'installazione predefinita, il file Machine.config viene collocato nella sottodirectory \Config della directory principale di installazione.

  2. Impostare come commento le eventuali righe della sezione webServices con cui si aggiunge il supporto per HTTP-GET e HTTP-POST. Al termine, la sezione webServices sarà simile a quella riportata di seguito:

    <webServices>
        <protocols>
          <add name="HttpSoap"/> 
             <!-- <add name="HttpPost"/> -->          <!-- <add name="HttpGet"/>  -->
          <add name="Documentation"/>
          <add name="HttpPostLocalhost"/>
        </protocols>
    </webServices>
    
  3. Salvare il file Machine.config.

    Le modifiche alla configurazione avranno effetto a partire dalla successiva richiesta pervenuta a un servizio Web XML attivo sul computer.

Per disattivare il supporto di un protocollo per una singola applicazione Web

  1. Aprire il file Web.config presente nella directory principale dell'applicazione Web con un editor di testo. In assenza del file Web.config, crearne uno.

  2. Modificare la sezione webServices del file Web.config in modo da rimuovere l'impostazione del protocollo. Nell'esempio che segue vengono rimossi i protocolli HTTP-POST e HTTP-GET:

    <webServices>
         <protocols>
           <remove name="HttpPost" />
           <remove name="HttpGet" />
         </protocols>
    </webServices>
    
  3. Salvare il file Web.config.

    Le modifiche alla configurazione avranno effetto a partire dalla successiva richiesta pervenuta a un servizio Web XML fornito dall'applicazione Web.

Pagina della Guida del servizio

È possibile configurare i servizi Web XML in modo che se si accede al relativo URL con un browser Web senza parametri venga visualizzata la pagina della Guida del servizio Web XML. La pagina della Guida del servizio contiene, per impostazione predefinita, informazioni leggibili sulle modalità di comunicazione con il servizio Web XML e sui metodi esposti dal servizio Web XML. La pagina della Guida del servizio è un Web Form ASP.NET e pertanto è possibile sostituirla o modificarla al fine di includervi vari elementi, quale, ad esempio, il logo aziendale. Il nome di file della pagina della Guida del servizio viene specificato nell'elemento XML <wsdlHelpGenerator> di un file di configurazione con un'impostazione DefaultWsdlHelpGenerator.aspx predefinita specificata nel file Machine.config. La pagina, inoltre, viene visualizzata solo per i servizi Web XML nell'ambito di un file di configurazione con il protocollo Documentation specificato nell'elemento XML <protocols>. Per impostazione predefinita, il protocollo Documentation viene specificato nel file Machine.config.

Per disattivare la pagina della Guida del servizio per una singola applicazione Web

  1. Aprire il file Web.config presente nella directory principale dell'applicazione Web con un editor di testo. In assenza del file Web.config, crearne uno.

  2. Modificare la sezione webServices del file Web.config in modo da rimuovere il protocollo Documentation.

    <webServices>
         <protocols>
           <remove name="Documentation" />
         </protocols>
    </webServices>
    
  3. Salvare il file Web.config.

    Le modifiche alla configurazione avranno effetto a partire dalla successiva richiesta pervenuta a un servizio Web XML fornito dall'applicazione Web.

    Nota   Quando si rimuove il protocollo Documentation, verrà anche disattivata la generazione di file WSDL per tutti i servizi Web XML forniti dall'applicazione Web. In tal modo, i client non potranno generare una classe proxy a meno che non si crei e si fornisca loro un file WSDL personalizzato. Per lasciare attiva la generazione di file WSDL per i servizi Web XML forniti da un'applicazione Web, senza però permettere la visualizzazione di informazioni riguardanti i servizi Web XML, è possibile aggiungere un elemento <wsdlHelpGenerator> al file Web.config dell'applicazione Web e impostare l'attributo href su una pagina HTML vuota. Nell'esempio di codice che segue viene riportato una stralcio da un file Web.config in cui si imposta la pagina della Guida del servizio su un file MyBlank.htm contenuto nella sottocartella docs della cartella contenente il file Web.config.

    <webServices>
       <wsdlHelpGenerator href="docs/MyBlank.htm"/>
    </webServices>
    

Vedere anche

Distribuzione dei servizi Web XML | Attivazione dell'individuazione per un servizio Web XML | Generazione di servizi Web XML mediante ASP.NET