Часть 2. MS SQL Server 2000 в качестве Web-службы
Автор: Алексей Ширшов
Источник: RSDN Magazine #1-2004
Опубликовано: 03.10.2004
Исправлено: 13.03.2005
Версия текста: 1.0
Предисловие
Настройка IIS
Содержание wsdl-файла
Секция types
Секция message
Секция portType
Формы сообщений
Секция binding
Секция service
Создание Web-методов
XML objects
Dataset objects
Single dataset
Web-методы
Тестируем Web-сервис
XMLHTTP
SOAP Toolkit
.NET Framework
Поддержка SQLXML в.NET Framework
Тестовый проект
Цели и ограничения Дизайн
Реализация
Заключение
Литература
Предисловие
Эту статью я собирался написать очень давно. Около года прошло с момента появления первой части «Использование XML совместно с SQL», а это – очень большой срок для современной IT-индустрии. Сейчас уже доступна первая бета новой версии SQL Server-а под кодовым названием «Yukon». В нем будет просто сумасшедшее количество нововведений, связанных с XML (и не только), одним из которых является возможность напрямую обращаться к серверу через Internet. Как вы знаете, в текущей версии это невозможно: взаимодействие с сервером происходит через специальное ISAPI-расширение, которое является частью пакета SQLXML. Вообще, по сравнению с Yukon (или Oracle9i), поддержка XML в SQL Server 2000 очень слаба. По существу, она ограничивается двумя конструкциями: FOR XML и OPENXML. Вся остальная функциональность реализуется с помощью SQLXML[1]. Все, что предоставляет SQLXML, как-то: шаблоны, запросы в URL, запросы XPath в конечном счету превращаются в ту или иную форму SQL-запроса, вида:
select... from [table]... for xml explicit |
Вызов хранимых процедур и функций через Internet – также целиком и полностью заслуга SQLXML: с помощью ISAPI-расширения он перехватывает SOAP-запросы, транслирует их в вызовы соответствующих функций и процедур SQL Server-а и возвращает результат в виде XML. Трансформация выбранного recordset-а в XML происходит на основе информации конфигурационного файла (расширение ssc), но обо всем по порядку.