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.
Nota: |
---|
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
Distribuire il servizio Web su un server Web Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML.
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.
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
Distribuire il servizio Web su un server Web. Per ulteriori informazioni, vedere Pubblicazione e distribuzione dei servizi Web XML.
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)
Nota: 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 chiamatoGetQuote
; 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
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
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
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.
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.
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