Пример:Web-сервисы в Microsoft Visual Studio.NET

Для создания Web-сервиса средствами Microsoft Visual Studio.NET необходимо выполнить следующие действия:

  1. Запустить Visual Studio.NET 7.0.
  2. Выполнить команду File | New | Project (или выбрать команду Create New Project на стартовой странице VS Home Page).
  3. В панели New Projects выбрать Visual Basic Projects, в панели Templates выбрать Web Service (рис. 7).
  4. Задать название сервиса и нажать Ok.



Рис.7 панель New Projects выбрать Web Service

В результате мы получим такой скелет сервиса (чтобы увидеть код, следует нажать правую кнопку мыши):

Imports System.ComponentModel  
Imports System.Configuration  
Imports System.Web.Services  
Imports System.Diagnostics  
Imports System.Data  
   
Public Class ExchangeRateService  
Inherits System.Web.Services.WebService  
   
#Region " Web Services Designer Generated Code "  
   
'Required by the WebServices Designer  
Private components As System.ComponentModel.Container  
   
Private Sub InitializeComponent()  
      'CODEGEN: This procedure is required by the WebServices Designer  
      'Do not modify it using the code editor.  
            components = New System.ComponentModel.Container  
End Sub  
   
Overrides Sub Dispose()  
      'CODEGEN: This procedure is required by the WebServices Designer  
      'Do not modify it using the code editor.  
End Sub  
   
#End Region  
   
Public Sub New()  
MyBase.New  
   
      'CODEGEN: This procedure is required by the WebServices Designer  
      'Do not modify it using the code editor.  
      InitializeComponent  
   
      'Add your own initialization code after the InitializeComponent   
' call  
End Sub  
   
End Class  

Microsoft Visual Studio.NET также создаст SDL-файл, который будет содержать описание нашего Web-сервиса, и DISCO-файл, используемый для регистрации и обнаружения сервиса.

В качестве примера создадим Web-сервис, выполняющий конвертацию валюты. Реализация метода Usd2Rub — преобразование суммы в долларах в сумму в рублях — показана ниже:

Public Class ExchangeRateService
	Inherits System.Web.Services.WebService
	
	Public Function <WebMethod()> Usd2Rub _
		(ByVal Value As Double) As String
		Usd2Rub = CStr(Value * 30)
	End Function
	
End Class

После создания Web-сервиса вызовем команду Build (выбрав опцию Release) для генерации необходимого кода и внедрения сервиса на Web-сервер. Теперь можно испытать наш сервис в действии. Для этого необходимо запустить Web-браузер и указать адрес, который был указан в панели New Project — Project will be created…

В нашем примере это будет http://terra/mywebservice/ (см. рис. 7). После этого указываем имя класса (в нашем примере — это ExchangeRateService) и расширение ASMX (Assembly). Полный адрес для запуска нашего сервиса будет выглядеть так:

http://terra/mywebservice/ExchangeRateService.asmx

В результате мы получаем тестовую страницу, созданную Visual Studio.NET (рис. 8).



Рис.8 тестовая страница, созданная Visual Studio.NET

Данная страница содержит описание Web-сервиса, а также список реализованных в нем методов. Например, описание метода Usd2Rub показано на рис. 9.



Рис.9 описание метода Usd2Rub

Введя в строке ввода какую-либо сумму и нажав кнопку Invoke, мы вызовем сервис нашего Web-метода с указанным параметром и получим следующий результирующий XML-документ:

<?xml version=”1.0" ?> 
  <string xmlns=”http://tempuri.org/”>1048.5</string> 

Завершая краткое описание создания Web-сервисов, отметим, что тестовая страница создается на основе информации, хранимой в SDL-файле, который можно просмотреть, указав параметр ?SDL в адресной строке браузера:

http://www.terra/mywebservice/ExchangeRateService.asmx?SDL

Для запуска Web-сервиса из приложения следует использовать следующий URL:

http://www.terra/mywebservice/exchangerateservice.asmx/Usd2Rub?Value=34.95

Обратите внимание также на то, что имя метода указывается после символа «/», а параметр — как обычный параметр URL-строки.


Hosted by uCoz