Веб Дизайн - статьи


Подключение к веб-сервису


Описание веб-сервиса, к которому мы собираемся подключаться, расположено по адресу . Описание задается на языке WSDL - Web Service Description Language. Фактически, это XML-документ определенной структуры.

В описании указывается какие методы предоставляет веб-сервис и как их следует вызывать. Нас интересует метод getCursOnDateXML. Он принимает в качестве аргумента дату и возвращает массив записей следующего вида:

  • Название валюты (Vname);
  • Номинал (Vnom);
  • Курс (Vcurs);
  • Цифровой код валюты (Vcode);
  • Символьный код валюты (VchCode).
Для того чтобы воспользоваться веб-сервисом нам необходимо сгенерировать клиентские заглушки (stubs). Эта процедура выполняется при помощи программы wsdl2ruby.rb, которая входит в состав библиотеки SOAP4R:

wsdl2ruby.rb --wsdl http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL --type client

ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}binding ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}operation ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}body ignored element: {http://schemas.xmlsoap.org/wsdl/soap12/}address I, [2008-09-07T00:04:04.847391 #5995] INFO -- app: Creating class definition. I, [2008-09-07T00:04:04.847750 #5995] INFO -- app: Creates file 'default.rb'. I, [2008-09-07T00:04:05.060365 #5995] INFO -- app: Creating mapping registry definition. I, [2008-09-07T00:04:05.060776 #5995] INFO -- app: Creates file 'defaultMappingRegistry.rb'. I, [2008-09-07T00:04:05.119316 #5995] INFO -- app: Creating driver. I, [2008-09-07T00:04:05.119752 #5995] INFO -- app: Creates file 'defaultDriver.rb'. I, [2008-09-07T00:04:05.219052 #5995] INFO -- app: Creating client skelton. I, [2008-09-07T00:04:05.219560 #5995] INFO -- app: Creates file 'DailyInfoClient.rb'. I, [2008-09-07T00:04:05.319125 #5995] INFO -- app: End of app. (status: 0) Как видно из отладочного вывода, программа сгенерировала четыре файла:

  • default.rb;
  • defaultMappingRegistry.rb;
  • defaultDriver.rb;
  • DailyInfoClient.rb.
Для работы с веб-сервисом необходимы первые три.


- Начало -  - Назад -  - Вперед -



Книжный магазин