Esempi di Web Services

Ogni applicazione può avere componenti Web Service.

La creazione e la programmazione dei Web Services non sono legate al tipo di linguaggio di programmazione.

Un esempio: ASP.NET Web Service

In questo esempio, utilizzeremo ASP.NET per creare un semplice Web Service.

<%@ WebService Language="VB" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert : Inherits WebService
<WebMethod()> Pubblica Funzione FahrenheitToCelsius
(ByVal Fahrenheit come Int16) come Int16
	Dim celsius come Int16 
	celsius = ((((Fahrenheit) - 32) / 9) * 5) 
	Restituisci celsius
Fine Funzione
<WebMethod()> Pubblica Funzione CelsiusToFahrenheit
(ByVal Celsius come Int16) come Int16
	Dim fahrenheit come Int16
	fahrenheit = ((((Celsius) * 9) / 5) + 32) 
	Restituisci fahrenheit
Fine Funzione
Fine Classe

Questo documento è un file .asmx. È l'estensione di file ASP.NET utilizzata per XML Web Services.

Per eseguire questo esempio, abbiamo bisogno di un server .NET

La prima riga di questo documento indica che questo è un Web Service scritto in VB, con il nome della classe "TempConvert".

<%@ WebService Language="VB" Class="TempConvert" %>

Le prossime righe di codice importano lo spazio dei nomi "System.Web.Services" dal framework .NET.

Imports System
Imports System.Web.Services

La riga seguente definisce che la classe "TempConvert" è una classe WebSerivce:

Public Class TempConvert : Inherits WebService

Il passo successivo è la programmazione di base in VB. Questa applicazione ha due funzioni: una per convertire i gradi Fahrenheit in gradi Celsius e un'altra per convertire i gradi Celsius in gradi Fahrenheit.

L'unica differenza rispetto a un'applicazione comune è che questa funzione è definita come "WebMethod".

Utilizzate "WebMethod" per marcare la funzione nell'applicazione che desiderate diventare web services.

<WebMethod()> Pubblica Funzione FahrenheitToCelsius
(ByVal Fahrenheit come Int16) come Int16
	Dim celsius come Int16 
	celsius = ((((Fahrenheit) - 32) / 9) * 5) 
	Restituisci celsius
Fine Funzione
<WebMethod()> Pubblica Funzione CelsiusToFahrenheit
(ByVal Celsius come Int16) come Int16
	Dim fahrenheit come Int16
	fahrenheit = ((((Celsius) * 9) / 5) + 32) 
	Restituisci fahrenheit
Fine Funzione

L'ultima cosa da fare è chiudere la funzione e la classe:

Fine Funzione
Fine Classe

Se salvi questo file come file .asmx e lo pubblichi su un server che supporta .NET, avrai il tuo primo Web Service funzionante.

Gestione automatica di ASP.NET

Con ASP.NET, non devi scrivere manualmente i documenti WSDL e SOAP.

Se studi attentamente questo esempio, noterai che ASP.NET crea automaticamente WSDL e richieste SOAP.