- •Лабораторная работа 1 Использование сетевых утилит (маленькая…)
- •Лабораторная работа 2 Программное обеспечение для организации «виртуальных машин» - vMware Player.
- •5 Основных причин внедрить по виртуализации
- •Лабораторная работа 3 Установка FreeBsd 10.0 на «виртуальную машину» на базе vMware Player. Первоначальная настройка сервера на основе FreeBsd 10.0.
- •Лабораторная работа 5 Установка и настройка Web-сервера (Apache, php).
- •Лабораторная работа 6 Протокол http. Обмен данными между web-сервером и клиентом по протоколу http.
- •Лабораторная работа 7 Расширенная настройка web-сервера Apache.
- •Лабораторная работа 8 Среда разработки NetBeans ide. Отладка JavaScript и php сценариев на удаленном web-сервере с помощью NetBeans ide и расширения xDebug.
- •Лабораторная работа 9 Основы построения ajax приложений.
- •Лабораторная работа 10 Взаимодействие с сервером, передача данных. Методы get, post, head.
- •Часть 1. Запрос методом get.
- •Часть 2. Запросы методом post и head.
- •Лабораторная работа 11 Передача сложных типов данных. Нотация json.
- •Часть 1. Форма авторизации пользователя.
- •Часть 2. Проверка пользователя.
- •Часть 3. Закрыть сообщение об ошибке.
- •Часть 4. Список пользователей online.
- •Лабораторная работа 12 Использование xml. Xmlrpc.
- •Часть 1. Получение способов доставки.
- •Часть 2. Отображение способов доставки на экране.
- •Часть 3. Получение расчетной общей стоимости заказа.
- •Часть 4. Отображение данных детализации расчета стоимости заказа.
- •Лабораторная работа 13 Использование xml Webсервисов. Протокол soap.
- •Часть 1. Изучение xml файлов с текстом soap сообщений.
- •Часть 2. Регистрация новой сессии пользователя.
- •Часть 3. Добавление книг в корзину.
- •Часть 4. Отображение содержания корзины на экране.
- •Часть 5. Очистка корзины.
- •Лабораторная работа 14 Безопасность и эффективность ajax приложений.
- •Часть 1. Запрос «соли» хеширования с сервера.
- •Часть 2. Хеширование пароля.
- •Часть 3. Вывод результата авторизации.
- •Часть 4. Загрузка больших объемов данных (глав книги).
- •Часть 5. Показ главы книги.
Лабораторная работа 13 Использование xml Webсервисов. Протокол soap.
Цель
Научиться использовать протокол SOAP для организации взаимодействия с сервером.
Выполнение
Подготовка к выполнению
Используя ftp-клиент, скопируйте каталог lb13 из предоставленного преподавателем архива «файлы-задания» в «каталог_AJAX» (см. например, подготовительный этап лабораторной работы № 9).
В лабораторной работе используется баpа данных формата SQLITE – файл books.db.
Для корректной работы скриптов установите на каталог lb13/server и файл базы данных books.db право на запись для «Всех» (см. лабораторную работу № 11).
В NetBeabs создайте новый проект на удаленном сервере для выполнения данной лабораторной работы.
Часть 1. Изучение xml файлов с текстом soap сообщений.
Ознакомьтесь с файлами SOAP сообщений в каталоге server/messages.
Обратите внимание, что для каждого метода определена пара файлов и соответственно SOAP сообщений: описание запроса к сервису и ответ сервиса.
Часть 2. Регистрация новой сессии пользователя.
Откройте в проекте файл index.html.
Обратите внимание на подключенные модули
<script type="text/javascript" src="xslt.js"></script>
<script type="text/javascript" src="xmlrpc.js"></script>
Ознакомьтесь с программным кодом в файлах xslt.js и xmlrpc.js.
В файле index.html найдите следующий комментарий
/*
** Задание 2. Регистрация новой сессии пользователя ** Напишите код функции registerSession(), которая вызывая SOAP-метод registerSession …
*/
Необходимо написать функцию registerSession(), которая вызывая SOAP‐метод registerSession – регистрирует новую сессию пользователя. URI этого метода urn:SampleServer2‐registerSession.
Используя функцию loadXML(), загрузите сообщение server/messages/registerSession‐request.xml (см. пример в функции showBooks()).
Выполните асинхронный вызов SOAP метода registerSession (см. URI метода выше) с помощью функции sendMessage(). Пример такого вызова так же можно посмотреть в функции showBooks().
Используйте сервер server/server.php.
В качестве последнего параметра функции sendMessage() используйте функцию registerSessionCallack(), которую необходимо будет написать.
Напишите функцию registerSessionCallack(req), которая будет использоваться в асинхронном вызове сервера. В этой функции получите SOAP сообщение ответа сервера (req.responseXML, см. пример сообщения-ответа файле server/messages/registerSession-response.xml) и прочитайте в нем элемент registerSessionResponse. В этом элементе будет находиться ID новой сессии пользователя. Сохраните его в глобальную переменную sessionId.
Для отладки выведите ID новой сессии пользователя в объект HTML страницы <div id="sessId"></div>.
Поставьте вызов функции registerSession() в событие window.onload и проверьте работу в разных браузерах.
Часть 3. Добавление книг в корзину.
Продолжаем работу с файлом index.html.
В файле index.html найдите следующий комментарий
/*
** Задание 3. Добавление книг в корзину
** Напишите код функции addToBasket(), …
*/
Напишите код функции addToBasket(bookId), которая вызывая SOAP‐метод addToBasket, добавляет книгу в корзину. URI этого метода urn:SampleServer2‐addToBasket.
Для этого загрузите сообщение addToBasket‐request.xml, используя функцию loadXML().
В этом сообщении не забудьте установить параметры sessionId, bookId, где sessionId – сохраненный в переменной идентификатор сессии пользователя, а bookId – идентификатор книги, получаемый функцией, как параметр. Для установки параметров используйте функцию setParameter(). Пример можно посмотреть в уже написанной функции showBooks().
Выполните асинхронный вызов сервера (функция sendMessage()), передавая построенное SOAP сообщение. Используйте сервер server/server.php.
Напишите функцию addToBasketCallback(req), которая будет использоваться в асинхронном вызове сервера. В этой функции сохраните ответ сервера (req.responseXML) в локальной переменной. Найдите и проверьте элемент addToBasketResponse, если он равен «true» – книга добавлена в корзину. Выведите пользователю сообщение об этом. На следующем этапе лабораторной работы отобразим содержание корзины.
Проверьте работу вашего сценария. Для этого просто в браузере посмотрите книги в любой категории и щелкните по любой книге и в режиме пошаговой отладки проанализируйте ответ сервера.
