Share via


Procedura: accedere ai servizi Web XML da un browser

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

Dopo avere pubblicato un servizio Web utilizzando ASP.NET, è possibile testarne la funzionalità utilizzando un browser per chiamarlo tramite HTTP-GET o HTTP-POST. Accedere al file con estensione asmx in un browser e quindi fare clic sui collegamenti ai metodi del servizio Web, o accedere direttamente a singoli metodi aggiungendo una stringa di query all'URL asmx.

45fez2a8.note(it-it,VS.100).gifNota:
Per impostazione predefinita, un servizio Web creato utilizzando ASP.NET è in grado di supportare più protocolli, incluso SOAP su HTTP e implementazioni di HTTP-GET e HTTP-POST in cui venga restituito nella risposta XML non SOAP.

Per testare un servizio Web in un browser utilizzando HTTP GET

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

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

    https://servername/apppath/webservicename.asmx
    

    Parte di percorso Valore

    servername

    Nome del server sul quale il servizio Web viene distribuito.

    Apppath

    Nome della directory virtuale e resto del percorso dell'applicazione Web.

    webservicename.asmx

    Nome del file asmx relativo al servizio Web.

    Si supponga ad esempio di avere un servizio Web pubblicato denominato StockServices. In caso di pubblicazione, l'URL di base per questo servizio è http://<servername>/apppath/StockServices.asmx. È possibile testare questo servizio immettendo la richiesta HTTP-GET nella barra degli indirizzi del browser:

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

    Il server, in risposta a questa richiesta, visualizza la descrizione HTML della pagina del servizio Web.

  3. La pagina di descrizione HTML del servizio Web mostra tutti i metodi di servizio Web supportati da un particolare servizio Web. Collegarsi al metodo di servizio Web desiderato e immettere i parametri necessari per testare il metodo e vedere la risposta XML.

Per testare direttamente un servizio Web in un browser utilizzando HTTP-GET

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

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

    https://servername/vdir/webservicename.asmx/Methodname?parameter=value
    

    Parametro Valore

    servername

    Nome del server sul quale il servizio Web viene distribuito.

    Apppath

    Nome della directory virtuale e resto del percorso dell'applicazione Web.

    webservicename.asmx

    Nome del file asmx relativo al servizio Web.

    Methodname

    Nome di un metodo pubblico esposto dal servizio Web. Se lasciata vuota, la pagina della descrizione del servizio Web viene mostrata, con l'elenco di ogni metodo pubblico disponibile nel file asmx. (facoltativo)

    parametro

    Nome del parametro adeguato e del valore per qualsiasi parametro richiesto dal metodo. Se lasciata vuota, la pagina della descrizione del servizio Web viene mostrata, con l'elenco di ogni metodo pubblico disponibile nel file asmx. (facoltativo)

    45fez2a8.note(it-it,VS.100).gifNota:
    In questa sintassi, il nome del metodo del servizio Web fa distinzione tra maiuscole e minuscole, ma il server, il progetto e i nomi di servizio Web no.

    Ad esempio, supponendo che il servizio Web StockServices della procedura precedente contenga un metodo del servizio Web chiamato GetQuote; il metodo del servizio Web accetta un codice azionario come parametro, restituendo il prezzo come numero a virgola mobile a precisione doppia. Per testare questo metodo immettere nella barra degli indirizzi del browser la richiesta HTTP-GET seguente:

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

  3. Il server invia una risposta che contiene un documento XML e la visualizza nel browser. Per l'esempio GetQuote, l'XML presenta il prezzo azionario corrente richiesto. Il risultato potrebbe essere analogo al seguente:

    <?xml version="1.0" ?>

    <double>74.5</double>

Per testare un servizio Web in un browser utilizzando HTTP POST

  1. Distribuire il servizio Web su un server Web. Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML. Questa procedura utilizza per esempio il seguente servizio Web, distribuito come un file con estensione math.asmx, accessibile dalla directory virtuale radice di un sito https://www.contoso.com:

    <%@ 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;
         }
    }
    
    <%@ 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
    
  2. Creare una pagina HTML con un modulo in cui l'attributo del metodo è impostato su POST nel 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 testare il servizio Web utilizzando HTTP-POST, utilizzare POST.

    Azione

    URL del metodo del servizio Web. Nell'esempio precedente, math.asmx è il servizio Web e Subtract è il metodo del servizio Web.

    type="text"

    Per ogni parametro del metodo del servizio Web, creare tag input con l'attributo del tipo impostato su "text". Ciò consente di digitare un valore del parametro nel controllo dell'input di testo.

    name='num1'

    Nome del parametro del metodo del servizio Web. Aggiungere tanti controlli dell'input di testo sul form quanti sono i parametri nel metodo del servizio Web. Ad esempio, se un metodo del servizio Web ha tre parametri, sono necessari tre controlli dell'input di testo per impostare l'attributo name sul nome del parametro.

    type=submit

    Aggiungere un pulsante di invio così è possibile inserire nuovamente i dati nel metodo di servizio Web.

  3. Accedere a un browser Web e immettere l'URL del documento HTML creato nel passaggio precedente.

    Il documento HTML creato nel passaggio precedente viene visualizzato.

  4. Immettere i valori adatti per il metodo del servizio Web nelle caselle di testo e fare clic sul pulsante invio.

    Ad esempio, se si immette 6 e successivamente 3 nelle due caselle di testo per il metodo del servizio Web Subtract dell'esempio, viene restituito il risultato seguente:

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

Vedere anche

Attività

Procedura: esplorare i servizi Web XML esistenti creati tramite ASP.NET
Procedura: accedere ai servizi Web XML da un browser

Concetti

Compilazione di client dei servizi Web XML
Individuazione Servizi Web

Altre risorse

Creazione di client di servizi Web XML