Accesso ai servizi Web XML da un browser

Dopo aver pubblicato un servizio Web XML creato con ASP.NET, è possibile eseguire il test delle funzionalità utilizzando un browser per chiamare uno dei metodi di servizio Web XML. Per eseguire questa operazione, distribuire il servizio Web XML a un server Web e collegarsi al servizio Web XML da un browser. Dopo che il file ASMX è stato distribuito a un server Web, è possibile eseguire il test del servizio Web XML in un browser utilizzando HTTP-GET o HTTP-POST.

**Nota   **Per impostazione predefinita, un servizio Web XML creato con ASP.NET è in grado di supportare più protocolli, compresi HTTP-GET, HTTP-POST e HTTP-SOAP.

Per eseguire il test di un servizio Web XML in un browser utilizzando HTTP-GET

  1. Distribuire il servizio Web XML a un server Web. Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML.

  2. Accedere a un browser e immettere l'URL per il servizio Web XML sulla barra degli indirizzi, utilizzando il formato seguente:

    https://servername/apppath/webservicename.asmx
    
    Parametro Valore
    servername Nome del server su cui è stato distribuito il servizio Web XML.
    Apppath Nome della directory virtuale e del resto del percorso dell'applicazione Web.
    webservicename.asmx Nome del file ASMX del servizio Web XML.

    Viene visualizzato il file di descrizione HTML del servizio Web XML.

  3. Sulla pagina di descrizione HTML del servizio Web XML vengono illustrati tutti i metodi di servizio Web XML supportati da un servizio Web XML specifico. Eseguire il collegamento al metodo di servizio Web XML desiderato e immettere i parametri necessari.

    Si immagini, ad esempio, di aver pubblicato un servizio Web XML denominato StockServices. Uno dei metodi di StockServices, GetQuote, accetta come parametro un codice azionario. Una volta pubblicato, l'URL di base del servizio sarà http://<nomeserver>/apppath/StockServices.asmx. Per provarlo, immettere la seguente richiesta HTTP-GET nella riga dell'URL del browser:

    http://<servername>/apppath/StockServices.asmx
    

    In risposta a questa richiesta, il server visualizza la pagina di descrizione HTML del servizio Web XML. In questa pagina viene elencato ciascun metodo del servizio Web XML. Viene inoltre fornito un mezzo per eseguire il test dei metodi e visualizzare le relative risposte XML.

    È inoltre possibile essere più specifici, immettendo il metodo esatto del quale si desidera eseguire il test. È possibile, ad esempio, immettere le informazioni seguenti per eseguire il test del metodo GetQuote del servizio:

    http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
    

    Sul server viene visualizzata una risposta XML che fornisce il prezzo corrente dell'azione richiesta. Se il tipo di dati restituito per GetQuote è un numero in virgola mobile e precisione doppia, il risultato potrebbe essere simile al seguente:

    <?xml version="1.0" ?>
    <double>74.5</double>
    

Metodo alternativo per eseguire il test di un servizio Web XML in un browser utilizzando HTTP-GET

  1. Distribuire il servizio Web XML a un server Web. Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML.

  2. Accedere al browser e immettere l'URL per il servizio Web XML sulla barra degli indirizzi, utilizzando il formato seguente:

    https://servername/vdir/webservicename.asmx/Methodname?parameter=value
    
    Parametro Valore
    servername Nome del server su cui viene distribuito il servizio Web XML.
    Apppath Nome della directory virtuale e del resto del percorso dell'applicazione Web.
    webservicename.asmx Nome del file ASMX del servizio Web XML.
    Methodname Nome di un metodo pubblico esposto dal servizio Web XML. Se lasciato vuoto, viene visualizzata la pagina di descrizione del servizio Web XML, in cui vengono elencati tutti i metodi pubblici disponibili nel file ASMX. (Facoltativo)
    parameter Nome e valore di parametro appropriati per qualsiasi parametro richiesto dal metodo. Se lasciato vuoto, viene visualizzata la pagina di descrizione del servizio Web XML, in cui vengono elencati tutti i metodi pubblici disponibili nel file ASMX. (Facoltativo)

    Nota   Per il nome del metodo di servizio Web XML in questa sintassi verrà eseguita la distinzione tra maiuscole e minuscole, mentre ciò non avviene per i nomi del server, del progetto e del servizio Web XML.

Si immagini, ad esempio, di aver pubblicato un servizio Web XML denominato StockServices. Uno dei metodi di StockServices, GetQuote, accetta come parametro un codice azionario e restituisce il relativo prezzo come numero in virgola mobile e precisione doppia. Una volta pubblicato, l'URL di base del servizio sarà http://<nomeserver>/apppath/StockServices.asmx. Per provarlo, immettere la seguente richiesta HTTP-GET nel campo degli indirizzi del browser:

http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT

Sul server viene visualizzata una risposta XML con il prezzo corrente dell'azione richiesta. Se il tipo di dati restituito per GetQuote è un numero in virgola mobile e precisione doppia, il risultato potrebbe essere simile al seguente:

<?xml version="1.0" ?>
<double>74.5</double>

Per eseguire il test di un servizio Web XML in un browser utilizzando HTTP-POST

Per eseguire il test di un servizio Web XML utilizzando HTTP-POST, è necessario creare una pagina HTML con un form, il cui attributo method è impostato su POST. Nella procedura riportata di seguito viene illustrato come creare un client HTTP-POST per il servizio Web XML che segue.

<%@ WebService Language="C#" Class="Math" %>
using System.Web.Services;
public class Math : WebService {
     [ WebMethod ]
     public int Add(int num1, int num2) {
          return num1+num2;
     }

     [ WebMethod ]
     public int Subtract(int num1, int num2) {
          return num1-num2;
     }
}
[Visual Basic]
<%@ WebService Language="VB" Class="Math" %>
Imports System.Web.Services

Public Class Math
    Inherits WebService

    <WebMethod> _
    Public Function Add(num1 As Integer, num2 As Integer) As Integer
        Return num1 + num2
    End Function    
    
    <WebMethod> _
    Public Function Subtract(num1 As Integer, num2 As Integer) As Integer
        Return num1 - num2
    End Function
End Class
  1. Distribuire il servizio Web XML a un server Web. Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML.

  2. Creare un documento HTML con un form, utilizzando il formato seguente:

       <form method=POST action='https://www.contoso.com/math.asmx/Subtract'>
           <input type="text" size="5" name='num1'\"></td> -
           <input type="text" size="5" name='num2'\"></td> =
           <input type=submit value="Subtract"> </td>
       </form>
    
    Parametro Valore
    method POST. Se si desidera eseguire il test del servizio Web XML con HTTP-POST, utilizzare POST.
    action URL per il metodo di servizio Web XML. Nell'esempio precedente math.asmx è il servizio Web XML e Subtract è il metodo di servizio Web XML.
    type="text" Per ogni parametro del metodo di servizio Web XML, creare tag input con l'attributo del tipo impostato su "text". In tal modo è possibile digitare un valore del parametro nel controllo di input del testo.
    name='num1' Nome del parametro del metodo di servizio Web XML. Aggiungere al form tanti controlli di input del testo quanti sono i parametri del metodo di servizio Web XML. Se, ad esempio, un metodo di servizio Web XML ha tre parametri, sono necessari tre controlli di input del testo con il relativo attributo name impostato sul nome del parametro.
    type=submit Aggiungere il pulsante di invio affinché i dati possano essere inviati al metodo di servizio Web XML.
  3. Accedere a un browser e immettere l'URL per il documento HTML creato durante il passaggio precedente.

    Verrà visualizzato il documento HTML creato durante il passaggio precedente.

  4. Immettere i valori appropriati per il metodo di servizio Web XML nelle caselle di testo e fare clic sul pulsante submit.

    Se, ad esempio, si immette 6 e 3 nelle due caselle di testo per il metodo di servizio Web XML Subtract, viene restituito il risultato seguente:

    <?xml version="1.0" ?> 
    <int xmlns="http://tempuri.org/">3</int>
    

Vedere anche

Generazione di client dei servizi Web XML | Individuazione di servizi Web XML | Creazione di client per servizi Web XML | Accesso a servizi Web XML esistenti creati con ASP.NET | Accesso ai servizi Web XML da un browser