Схема времени существования XML-веб-службы

Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.

Процесс, происходящий при вызове XML-веб-службы, аналогичен обычному вызову метода. Основное различие заключается в том, что вместо вызова метода, находящегося в клиентском приложении, создается сообщение запроса по указанному транспортному протоколу, например HTTP. Поскольку метод XML-веб-службы может находиться на другом компьютере, информацию, необходимую XML-веб-службе для обработки запроса, требуется передать по сети серверу, на котором размещена эта служба. XML-веб-служба обрабатывает эту информацию и отправляет результат по сети обратно клиентскому приложению.

На следующем рисунке показан процесс взаимодействия между клиентом и XML-веб-службой.

Время существования XML-веб-службы

Время существования XML-веб-службы

При вызове XML-веб-службы происходит следующая последовательность событий:

  1. Клиент создает новый экземпляр прокси-класса XML-веб-службы. Этот объект находится на том же компьютере, что и клиент.

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

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

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

  5. Метод XML-веб-службы выполняет свой код, и в конечном итоге задает возвращаемое значение и выходные параметры.

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

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

  8. Клиент получает возвращаемое значение и выходные параметры.

Создание XML-веб-службы

Создание XML-веб-службы аналогично созданию любого компонента, обеспечивающего программный доступ к своей логике приложения. Чтобы создать XML-веб-службу, потребуется обеспечить функциональные возможности, предоставляемые службой, описание принципов ее использования и инфраструктуру, поддерживающую получение и обработку запросов и отправку ответов. К счастью, значительная часть необходимой инфраструктуры предоставляется в готовом виде.

Создание клиента XML-веб-службы

Поскольку доступ к XML-веб-службам осуществляется с помощью URL, HTTP и XML, они доступны программам, выполняющимся на любых платформах и написанным на любом языке. Поскольку децентрализованность XML-веб-служб позволяет клиенту и XML-веб-службе действовать как автономные единицы, существует множество способов использования XML-веб-служб. Например, вызов XML-веб-службы можно запрограммировать в веб-приложении, компоненте ПО промежуточного слоя или даже в другой XML-веб-службе. Каким бы ни был клиент XML-веб-службы, для ее вызова достаточно отправить сообщение запроса в правильном формате, соответствующее ее опубликованному описанию. В зависимости от особенностей XML-веб-службы возможна отправка ответа на сообщение. Отправитель запроса должен иметь возможность извлечь нужную информацию из этого сообщения.

См. также

Основные понятия

Общие сведения об XML-веб-службах