Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Взаимодействие клиентов и Web-сервисов xml

Взаимодействие между клиентом и Web-сервисом XML напоминает процесс вызова удаленных процедур (remote procedure call, RPC). Для вызова методов Web-сервиса XML клиент использует объект прокси.

Процесс взаимодействия клиента с Web-сервисом XML протекает в несколько фаз и включает следующие действия:

  1. Клиент создает на локальном компьютере объект класса прокси Web-сервиса XML.

  2. Клиент вызывает метод объекта прокси.

  3. Инфраструктура Web-сервисов XML на клиентском компьютере сериализует вызов вместе с аргументами и отправляет результирующее сообщение SOAP по сети Web-сервису XML.

  4. На сервере, где работает Web-сервис, инфраструктура Web-сервисов XML десериализует полученное сообщение SOAP, создает экземпляр Web-сервиса XML и вызывает метод с аргументами, переданными клиентом.

  5. Web-сервис XML исполняет метод и возвращает инфраструктуре результат с выходными параметрами (если они есть).

  6. Инфраструктура сериализует возвращенное значение с параметрами и отправляет созданное сообщение SOAP по сети клиенту.

  7. Инфраструктура Web-сервисов XML на клиентском компьютере десериализует полученное сообщение SOAP и передает результаты объекту прокси.

  8. Объект-прокси передает клиенту возращенное методом значение и выходные параметры.

Для создания Web-сервисов XML служит инфраструктура ASP.NET из состава .NET Framework. Visual Studio .NET предоставляет инструментарий для создания, развертывания и публикации Web-сервисов XML, созданных с применением ASP.NET.

Лекция 14. Механизм обнаружения Web-сервисов xml

Механизм обнаружения Web-сервисов XML возвращает клиенту документ с описанием Web-сервиса на языке WSDL (Web Services Description Language), которое включает сведения о возможностях Web-сервиса XML, его адрес и описание способа взаимодействия с ним. В процессе обнаружения Web-сервиса XML файлы с его описанием, схемами XSD, то есть все файлы, необходимые для обнаружения Web-сервиса, загружаются на клиентский компьютер.

Файл с расширением .disco, называемый также документом обнаружения, содержит ссылки на ресурсы, описывающие Web-сервис XML. Сведения из этого файла помогают клиентам обнаружить один или несколько Web-сервисов XML, расположенных на этом или других Web-серверах. Рассмотрим пример содержимого .disco-файла:

XML

<?xml version="1.0" encoding="utf-8"?>

«discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://schemas.xmlsoap.org/disco/">

<discoveryRef ref="/Folder/Default.disco"/>

<contractRef ref="http://Nancyd/mywebservice/Service1.asmx?wsdl"

docRef="http://Nancyd/mywebservice/Service1.asmx"

xmlns="http://schemas.xmlsoap.org/disco/scl/" />

<soap address="http://Nancyd/mywebservice/Service1.asmx"

xmlns:q1="http://tempuri.org/" binding="q1:Service1Soap"

xmlns="http://schemas.xmlsoap.org/disco/soap/" />

</discovery>

К элементу <discovery> разрешается добавлять несколько ссылок на описание сер­виса. Ссылка на описание сервиса добавляется при помощи элемента <contractRef> с указанием пространства имен XML http://schemas.xmlsoap.org/disco/scl/. Аналогично добавляют ссылки на другие документы обнаружения и схемы XSD, помещая их в элементы <discoveryRef> и <schemaRef> соответственно. Добавляя ссылку на схему XSD, необходимо указать пространство имен XML http://schemas.xmlsoap.org/disco/schema. Для всех документов, упомянутых в .disco-файле, необходимо указать размещение при помощи атрибута ref.

Соседние файлы в папке ПвИ