Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по веб-сервисам.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

8.2.4Конвертация валюты с помощью веб-сервиса цб

Пусть для конвертации валюты ЦБ предоставляет следующий сервис:

/// <summary>

/// Производит конвертацию валюты

/// </summary>

/// <param name="from">ISO код исходной валюты</param>

/// <param name="to">ISO код целевой валюты</param>

/// <returns>Коэффициент перевода</returns>

[WebMethod]

public double Convert(string from, string to)

{

}

В поставленной задаче конвертация всегда производится из долларов в рубли, поэтому эти значения можно использовать в качестве констант для создания сообщения вызова веб-сервиса ЦБ:

CurrencyReq.from = "USD";

CurrencyReq.to = "RUR";

Полученный после вызова веб-сервиса курс перевода используется для модификации суммы заказа, которая в эту оркестровку передается в качестве входного и выходного параметра:

Sum = Sum * CurrencyRes.ConvertResult;

Таким образом, эта оркестровка описывается довольно простой схемой:

Рис. 8.35. Схема оркестровки перевода валюты.

8.2.5Тестирование работоспособности приложения

Для проверки работоспособности системы был создан тестовый пример, состоящий из трех заказов:

  1. Заказ с большим количеством товаров, заведомо превышающим количество доступных товаров в интернет-магазине.

  2. Заказ с неверными номерами товаров, которые не содержатся в каталоге товаров фирмы-поставщика.

  3. Заказ с верными номерами товаров, указанных в доступном для заказа количестве.

Функция «OrdersReload» веб-сервиса ERP системы предприятия была модифицирована таким образом, чтобы заполнять очередь заказов данными из тестового примера. В результате запуска приложения при помощи стартового сообщения были получены следующие результаты:

  1. Во время регистрации заказа в интернет-магазине произошла ошибка «NotEnoughGoods», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».

  2. Во время регистрации заказа в интернет-магазине произошла ошибка «WrongGoodId», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».

  3. Регистрация заказ в интернет-магазине прошла успешно, затем была вызвана функция конвертации полученной суммы заказа из валюты «USD» в «RUR». После этого веб-сервис платежной системы получил запрос на перевод соответствующей суммы в рублях со счета компании на счет фирмы-поставщика. Заказ был удалее из очереди со статусом «successfully = True».

Кроме вызовов операций веб-сервисов с соответствующими параметрами, которое можно было наблюдать в режиме отладки, результатом работы созданного приложения является набор записей в системном логе, содержащий отладочную информацию о функционировании системы, например о статусе заказа: «Order status is: WrongGoodId».

8.3Порядок выполнения работы

  1. Запустить Visual Studio 2005 и открыть свое решение.

  2. Добавить в решение проект типа «Empty BizTalk Server Project».

  3. Добавить в проект ссылки на используемые веб-сервисы в соответствии с вариантом задания (веб-сервис ERP-системы, веб-сервис интернет магазина, веб-сервис конвертации валют или платежной системы).

  4. Добавить в проект новую оркестровку, производящую заказ первого заказа из очереди ERP-системы в интернет-магазине.

  5. Добавить в проект карту преобразования и настроить конвертацию из формата ERP-системы в формат магазина.

  6. Закрыть Visual Studio 2005 и завершить сеанс работы.