Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwww.tolstykh.com
1 ДонНУ, кафедра КТ, проф.В.К.Толстых Web-службы (Web-сервисы) введение введение Разработка в среде Delphi Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета
2 Delphi for.NET Получаем файлы: WebService1.asmx, WebService1.pas, WebService1.bdsproj...
3 Файл WebService1.asmx Файл содержит только одну строку. Директива WebService указывает на реализацию кода в отдельном файле WebService1.pas языка С#. Указанная страница должна быть скомпилирована (CTRL+F9) в сборку WebServiceApplication1.dll и помещена в папку \bin данной Web-службы. - где содержится описание класса для данной страницы Новый класс TWebService1 в пространстве имен WebService1
4 Файл WebService1.pas
5 Компиляция и тестирование Web-службы После компиляции в виртуальном каталоге WebServiceApplication1 Web-сервера должны быть два обязательных «рабочих» файла: WebService1.asmx, bin /WebServiceApplication1.dll Тестирование Web- службы WebService1
6 Добавление описаний к Web-службе Результат тестирования службы: Ваш уникальный логический идентификатор пространства имен Web-службы. Принято – домен компании / имя службы
7 Использование Web-служб Клиентами Web-служб могут быть любые приложения – Win32,.NET и другие платформы. Создание клиента Win32 (Delphi 6, 7…) – Project1.exe Добавляем на форму компонент THTTPRIO – аналог прокси-класса (посредник общения с Web-службой)
8 Создание и добавление WSDL Importer – модуля импорта для удаленного вызова объекта Адрес XML-файла описания службы - WSDL: (параметр WSDL запроса позволяет получить XML-файл WSDL)
9 Добавлен модуль WebService1.pas Был создан тип объекта для доступа к Web-службе и метод этого объекта
10 Настройки THTTPRIO1 1.Повторно вставить адрес WSD в свойство WSDLLocation 2.Выбрать единственный параметр TWebService1 в Service 3.Выбрать единственный параметр TWebService1Soap в Port
11 Обработка щелчка на кнопке «Запрос службы» Создаем объект WS для работы со службой (тип объекта взят из модуля WebSeervice1, убедитесь, что этот модуль подключен к главному модулю в uses) Запуск приложения Project1.exe Приводим объект THTTPRIO1 к типу TWebSdervice1Soap Вызываем метод HelloWorld() Web-службы При первом вызове - через 2 секунды, далее - мгновенно...
12 Web-служба сложения двух вещественных чисел Добавляем новый метод Add() Описываем новый метод Add() Тестируем Web-службу с новым методом
13 Использование Web-службы сложения двух вещественных чисел Вызываем метод Add() Web-службы Обновляем (удаляем старый и ставим заново) модуль – WSDL Importer импорта для удаленного вызова объекта «видим» новый метод Add() Изменения модуля Unit1.pas:
14 Создание клиента.NET (Delphi 8, 2005…) Для создания прокси-класса, в инспекторе объектов щелкнуть правой кнопкой мыши на проекте и выбрать Add Web Reference Подготовить и сохранить внешний вид приложения ProjectAdd
15 Создание прокси-класса Справочная информация WSDL в формате XML о Web-службе на Описание интерфейса Web-службы в формате XML В папке Web References\ua.edu.donnu.www появляется файл WebService1.pas – исходный код прокси-класса Добавить ссылку в проект Выбрать ссылку на WSDL Web-службы
16 Исходный код прокси-класса (Web References\ua.edu.donnu.www WebService1.pas) Синхронный способ вызова метода HelloWorld() Создание динамического массива
17 Исходный код прокси-класса (продолжение) Асинхронный способ вызова метода HelloWorld() Синхронный способ вызова метода Add() Создание динамического массива
18 Исходный код прокси-класса (продолжение) Асинхронный способ вызова метода Add()
19 Применение Web-службы Обработчик события щелчка на кнопке: Неоходим объект WS для работы со службой (тип объекта взят из модуля donnu.WebService1) Подключение модуля donnu.WebService1 к главному модулю:
20 Асинхронный вызов метода Начать асинхронную операцию. Здесь возвращается интерфейса IAsyncResult Остановить приложение, если асинхронная операция еще не завершилась. AsyncWaitHandle - это свойство IAsyncResult Возвращает данные метода Add() Определяет состояние асинхронной операции
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.