Прежде всего вам необходимо тестовое приложение, на котором мож¬но будет опробовать различные подходы к работе с веб-службами. Тес¬товое приложение устроено очень просто: оно должно содержать окно со списком для выбора одного из четырех арифметических действий, два текстовых поля ввода (по одному для каждого операнда) и кнопку вызова службы. Эти элементы управления будут находиться в запре¬щенном состоянии до тех пор, пока страница не загрузится полностью. Ниже приводится описание всех этих элементов управления и еще од¬ного текстового поля, в котором будет выводиться результат, а также текстовой области, где будут выводиться данные, содержащиеся в за¬просе и в ответе:
TecTOBoe приложение веб-службы<ДШе>
var SERVICEJJRL = "http://localhost/Math/Math.asmx";
var SOAP_ACTION_BASE = "http://www.wrox.com/services/math";
function setUIEnabled(bEnabled) {
var oButton = document.getElementByldC'cmdRequest"); oButton.disabled = IbEnabled; var oList = document.getElementByldC'lstMethods"); oList.disabled = IbEnabled
}
function performOperation() {
var oList = document.getElementById("lstMethods"); var sMethod = oList.options[oList.selectedIndex].value; var s0p1 = document.getElementById("txt0p1").value; var s0p2 = document.getElementById("txt0p2").value;
// Очистить область сообщений document.getElementById("txtRequest").value = ""; document.getElementById("txtResponse").value = ""; document.getElementByldC'txtResult").value = ""; performSpeclficOperation(sMethod, s0p1, s0p2);
}
Операция: Bbi4HTaHne Умножение flefleHne
Операнд 1: Операнд 2:
Результат:
Функция setUIEnabled() предназначена для того, чтобы разрешить запретить пользовательский интерфейс тестового приложения, позволяет гарантировать, что одновременно будет исполняться то один запрос. В файле определены две константы: SERVICE_URL и SOW TI0N_BASE, содержащие URL веб-службы и заголовок запроса на выполнение операции соответственно. По нажатию кнопки вается функция performOperationQ, которая собирает все необхо для операции данные из элементов управления и очищает поля перед вызовом функции performSpecificOperatlon(). Этот метод о ляет, какая операция должна быть выполнена, и реализует обр к веб-службе (этот метод находится в отдельном файле Jav Вид страницы тестового приложения зависит от конкретных на и должен напоминать изображение, приведенное на рис. 6.7.