Преобразование WSDL-кода в программный код агента для клиента

Преобразование WSDL-кода в программный код агента для клиента

Хотя это и нежелательно, но вполне возможно построить базовый программный код клиента, которым будет вручную открывать HTTP-соединение, строить SOAP-сообщения, вызывать Web-методы и выполнять обратную трансляцию поступающего XML-потока в типы данных CTS. Намного более предпочтительным подходом оказывается использование wsdl.exe для генерирования класса агента, который будет представлять Web-методы, определенные данным файлом *.asmx.

Для этого укажите (как минимум) имя генерируемого файла агента (с помощью флага /out) и место размещения WSDL-документа. По умолчанию wsdl.exe генерирует программный код агента на языке C#. Однако если вы хотите иметь программный код агента на другом языке .NET, вы можете использовать флаг /language. Следует также знать, что по умолчанию wsdl.exe генерирует программный код агента, предполагающего связь с удаленным Web-сервисом XML с помощью SOAP. Чтобы созданный агент использовал HTTP-метод GET или POST. следует указать соответствующий протокол связи с помощью /protocol.

Другим важным моментом в отношении генерирования программного кода агента с помощью wsdl.exe является то, что этому инструменту действительно требуется WSDL-документ Web-сервиса XML, а не просто файл с именем *.asmx. С учетом этого следует понимать, что если для разработки и тестирований Web-сервиса вы используете WebDev.WebServer.exe, то перед генерированием программного кода агента для клиента вы, скорее всего, захотите скопировать содержимое проекта в виртуальный каталог IIS.

Для примера предположим. что вы создали новый виртуальный каталог IIS (CalcService), содержащий данные проекта CalculatorService. После этого вы можете сгенерировать программный код агента клиента так.

wsdl /out:proxy.cs http://localhost/CalcService/Secrvice.asmx?wsdl

В качестве замечания подчеркнем, что wsdl.exe не определяет пространство имен .NET для упаковки генерируемых типов C#. если вы не укажете в командной строке флаг /n.

wsdl /out:proxy.cs /n:CalculatorClient http://localhost/CalcService/ Service.asmx?wsdl

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Преобразование CIL-кода в набор инструкций, соответствующих платформе

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

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


Просмотр WSDL-документа

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

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


Язык описания Web-сервисов (WSDL)

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Язык описания Web-сервисов (WSDL) В последних нескольких примерах вы могли видеть отдельные фрагменты WSDL-кода. Напомним, что WSDL – это основанная на XML грамматика, предназначенная для описания возможностей взаимодействия внешних клиентов с Web-методами, доступными по данному


Определение WSDL-документа

Из книги Операционная система UNIX автора Робачевский Андрей М.

Определение WSDL-документа Действительный документ WSDL открывается и закрывается корневым элементом ‹definitions›. В открывающем дескрипторе обычно определяются различные атрибуты xmlns. Они задают пространства имен XML, определяющие различные подчиненные элементы. Как минимум,


Утилита командной строки wsdl.exe

Из книги Цифровая фотография от А до Я [2-е издание] автора Газаров Артур Юрьевич

Утилита командной строки wsdl.exe Теперь, когда у вас есть базовые знания о WSDL и SOAP, давайте выясним, как с помощью такого инструмента командной строки, как wsdl.exe строить программы клиента, взаимодействующие с удаленными Web-сервисами XML. В сущности, wsdl.exe решает две важные


Преобразование WSDL-кода в серверный программный код Web-сервиса

Из книги Компьютерные террористы [Новейшие технологии на службе преступного мира] автора Ревяко Татьяна Ивановна

Преобразование WSDL-кода в серверный программный код Web-сервиса Одним из интересных вариантов использования утилиты wsdl.exe является генерирование серверного программного кода на основе WSDL-документа (с помощью опции /serverInterfасе). Очевидно, если вы начинаете разработку


Программный код агента

Из книги автора

Программный код агента Если открыть сгенерированный файл агента, вы найдете там тип, который получается из System.Web.Services.Protocols.SoapHttpClientProtocol (если, конечно, вы не указали другой протокол связи с помощью опции /protocol).public partial class CalculatorWebService : System.Web.Services.Protocols.SoapHttpClientProtocol { …}Этот


Генерирование программного кода агента в Visual Studio 2005

Из книги автора

Генерирование программного кода агента в Visual Studio 2005 Утилита wsdl.exe, конечно, предлагает целый ряд аргументов командной строки, которые позволяют контролировать результат генерирования класса агента, но Visual Studio 2005 позволяет быстро сгенерировать файл агента, используя


11.7.3 Использование промежуточного агента

Из книги автора

11.7.3 Использование промежуточного агента Гораздо удобнее использовать один или несколько централизованных серверов загрузки, чем размещать такие серверы в каждой из локальных сетей. Однако как широковещательный запрос от клиента может достигнуть удаленного сервера по


20.3 Назначение диспетчера и агента

Из книги автора

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


Выбор способа и агента депонирования ключей

Из книги автора

Выбор способа и агента депонирования ключей При развертывании PKI в дополнение к функциям резервного копирования и восстановления ключей может быть запланирована поддержка депонирования ключей. Под депонированием ключей понимается предоставление копий секретных


23.2. Программный сбой

Из книги автора

23.2. Программный сбой Прежде всего, нужно выяснить и по возможности устранить причину сбоя. Если это сугубо программный сбой, то причины две: неправильная настройка программы (или системы) и ошибка


Программный интерфейс TLI

Из книги автора

Программный интерфейс TLI При обсуждении реализации сетевой поддержки в BSD UNIX был рассмотрен программный интерфейс доступа к сетевым ресурсам, основанный на сокетах. В данном разделе описан интерфейс транспортного уровня (Transport Layer Interface, TLI), который обеспечивает


Программный режим

Из книги автора

Программный режим Обозначается буквой Р. Это, в общем-то, автоматический режим, но в отличие от Авто он позволяет вам вносить свои изменения во многие выбранные камерой параметры: менять светочувствительность ISO, баланс белого, выбрать режим и точку автофокусировки,