Wsdl что это простыми словами
WSDL — Краткое руководство
WSDL расшифровывается как язык описания веб-сервисов. Это стандартный формат для описания веб-службы. WSDL был разработан совместно Microsoft и IBM.
Особенности WSDL
WSDL — это основанный на XML протокол для обмена информацией в децентрализованных и распределенных средах.
Определения WSDL описывают, как получить доступ к веб-службе и какие операции она будет выполнять.
WSDL — это язык для описания взаимодействия с сервисами на основе XML.
WSDL является неотъемлемой частью универсального описания, обнаружения и интеграции (UDDI), всемирного реестра предприятий на основе XML.
WSDL — это язык, который использует UDDI.
WSDL произносится как «wiz-тупой» и произносится как «WSD-L».
WSDL — это основанный на XML протокол для обмена информацией в децентрализованных и распределенных средах.
Определения WSDL описывают, как получить доступ к веб-службе и какие операции она будет выполнять.
WSDL — это язык для описания взаимодействия с сервисами на основе XML.
WSDL является неотъемлемой частью универсального описания, обнаружения и интеграции (UDDI), всемирного реестра предприятий на основе XML.
WSDL — это язык, который использует UDDI.
WSDL произносится как «wiz-тупой» и произносится как «WSD-L».
Использование WSDL
WSDL часто используется в сочетании с SOAP и XML-схемой для предоставления веб-сервисов через Интернет. Клиентская программа, подключающаяся к веб-службе, может прочитать WSDL, чтобы определить, какие функции доступны на сервере. Все используемые специальные типы данных встраиваются в файл WSDL в форме XML-схемы. Затем клиент может использовать SOAP для фактического вызова одной из функций, перечисленных в WSDL.
История WSDL
WSDL 1.1 был представлен Ariba, IBM и Microsoft в виде заметки W3C для описания сервисов для W3C XML Activity по XML-протоколам в марте 2001 года.
WSDL 1.1 не был одобрен Консорциумом World Wide Web (W3C), однако он только что выпустил проект для версии 2.0, который будет рекомендацией (официальным стандартом), и, таким образом, одобрен W3C.
WSDL — Элементы
WSDL разбивает веб-службы на три определенных идентифицируемых элемента, которые могут быть объединены или использованы повторно после определения.
Три основных элемента WSDL, которые могут быть определены отдельно:
Документ WSDL имеет различные элементы, но они содержатся в этих трех основных элементах, которые можно разрабатывать как отдельные документы, а затем их можно объединять или повторно использовать для формирования полных файлов WSDL.
Элементы WSDL
Документ WSDL содержит следующие элементы:
Определение — это корневой элемент всех документов WSDL. Он определяет имя веб-службы, объявляет несколько пространств имен, используемых в оставшейся части документа, и содержит все элементы службы, описанные здесь.
Типы данных — типы данных, которые будут использоваться в сообщениях, представлены в форме схем XML.
Сообщение — это абстрактное определение данных в форме сообщения, представленного либо в виде всего документа, либо в качестве аргументов, которые должны быть сопоставлены с вызовом метода.
Операция — это абстрактное определение операции для сообщения, например, присвоение имени методу, очереди сообщений или бизнес-процессу, которое примет и обработает сообщение.
Тип порта — это абстрактный набор операций, сопоставленный с одной или несколькими конечными точками, определяющий набор операций для привязки; коллекция операций, как она абстрактна, может быть сопоставлена с несколькими транспортными средствами через различные привязки.
Связывание — это конкретный протокол и форматы данных для операций и сообщений, определенных для определенного типа порта.
Порт — это сочетание привязки и сетевого адреса, обеспечивающее целевой адрес службы связи.
Сервис — это набор связанных конечных точек, охватывающий определения сервиса в файле; службы сопоставляют привязку с портом и включают любые определения расширяемости.
Определение — это корневой элемент всех документов WSDL. Он определяет имя веб-службы, объявляет несколько пространств имен, используемых в оставшейся части документа, и содержит все элементы службы, описанные здесь.
Типы данных — типы данных, которые будут использоваться в сообщениях, представлены в форме схем XML.
Сообщение — это абстрактное определение данных в форме сообщения, представленного либо в виде всего документа, либо в качестве аргументов, которые должны быть сопоставлены с вызовом метода.
Операция — это абстрактное определение операции для сообщения, например, присвоение имени методу, очереди сообщений или бизнес-процессу, которое примет и обработает сообщение.
Тип порта — это абстрактный набор операций, сопоставленный с одной или несколькими конечными точками, определяющий набор операций для привязки; коллекция операций, как она абстрактна, может быть сопоставлена с несколькими транспортными средствами через различные привязки.
Связывание — это конкретный протокол и форматы данных для операций и сообщений, определенных для определенного типа порта.
Порт — это сочетание привязки и сетевого адреса, обеспечивающее целевой адрес службы связи.
Сервис — это набор связанных конечных точек, охватывающий определения сервиса в файле; службы сопоставляют привязку с портом и включают любые определения расширяемости.
В дополнение к этим основным элементам спецификация WSDL также определяет следующие служебные элементы:
Документация — Этот элемент используется для предоставления удобочитаемой документации и может быть включен в любой другой элемент WSDL.
Импорт — этот элемент используется для импорта других документов WSDL или схем XML.
Документация — Этот элемент используется для предоставления удобочитаемой документации и может быть включен в любой другой элемент WSDL.
Импорт — этот элемент используется для импорта других документов WSDL или схем XML.
ПРИМЕЧАНИЕ. — Части WSDL обычно генерируются автоматически с использованием инструментов, поддерживающих веб-службы.
Структура документа WSDL
Основная структура документа WSDL выглядит следующим образом —
Документ WSDL также может содержать другие элементы, такие как элементы расширения и элемент службы, которые позволяют группировать определения нескольких веб-служб в одном документе WSDL.
Продолжите анализировать пример документа WSDL.
WSDL — Пример
Ниже приведен файл WSDL, предоставленный для демонстрации простой программы WSDL.
пример
Содержимое файла HelloService.wsdl —
Пример анализа
Тип — Использование встроенных типов данных, и они определены в XMLSchema.
sayHelloRequest — параметр firstName
sayHelloresponse — приветствие, возвращаемое значение
Тип порта — операция sayHello, состоящая из запроса и службы ответа.
Привязка — Направление использования транспортного протокола HTTP SOAP.
Сервис — Сервис доступен по адресу http://www.examples.com/SayHello/
Порт — связывает привязку с URI http://www.examples.com/SayHello/, где можно получить доступ к работающей службе.
Тип — Использование встроенных типов данных, и они определены в XMLSchema.
sayHelloRequest — параметр firstName
sayHelloresponse — приветствие, возвращаемое значение
Тип порта — операция sayHello, состоящая из запроса и службы ответа.
Привязка — Направление использования транспортного протокола HTTP SOAP.
Сервис — Сервис доступен по адресу http://www.examples.com/SayHello/
Порт — связывает привязку с URI http://www.examples.com/SayHello/, где можно получить доступ к работающей службе.
WSDL — элемент
Элемент должен быть корневым элементом всех документов WSDL. Он определяет название веб-службы.
Из приведенного выше примера можно сделать вывод, что определения —
является контейнером всех других элементов.
определяет многочисленные пространства имен, которые используются в оставшейся части документа.
является контейнером всех других элементов.
определяет многочисленные пространства имен, которые используются в оставшейся части документа.
ПРИМЕЧАНИЕ. — Спецификация пространства имен не требует, чтобы документ присутствовал в данном месте. Важным моментом является то, что вы указываете уникальное значение, отличное от всех других определенных пространств имен.
WSDL — элемент
Веб-сервис должен определить свои входы и выходы и то, как они отображаются в сервисы и выходят из них. Элемент WSDL заботится об определении типов данных, используемых веб-службой. Типы — это документы XML или части документа.
Элемент types описывает все типы данных, используемые между клиентом и сервером.
WSDL не привязан исключительно к конкретной системе ввода.
WSDL использует спецификацию XML-схемы W3C в качестве выбора по умолчанию для определения типов данных.
Если служба использует только простые встроенные типы XML-схемы, такие как строки и целые числа, то элемент types не требуется.
WSDL позволяет определять типы в отдельных элементах, чтобы их можно было повторно использовать в нескольких веб-службах.
Элемент types описывает все типы данных, используемые между клиентом и сервером.
WSDL не привязан исключительно к конкретной системе ввода.
Веб-сервисы в теории и на практике для начинающих
Что такое веб-сервисы?
Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.
Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.
С другой стороны, если гипотетически разделить Интернет на несколько слоев, мы сможем выделить, как минимум, два концептуальных типа приложений — вычислительные узлы, которые реализуют нетривиальные функции и прикладные веб-ресурсы. При этом вторые, зачастую заинтересованы в услугах первых.
Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.
Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
По сути, веб-сервисы — это реализация абсолютно четких интерфейсов обмена данными между различными приложениями, которые написаны не только на разных языках, но и распределены на разных узлах сети.
Именно с появлением веб-сервисов развилась идея SOA — сервис-ориентированной архитектуры веб-приложений (Service Oriented Architecture).
Протоколы веб-сервисов
На сегодняшний день наибольшее распространение получили следующие протоколы реализации веб-сервисов:
На самом деле, SOAP произошел от XML-RPC и является следующей ступенью его развития. В то время как REST — это концепция, в основе которой лежит скорее архитектурный стиль, нежели новая технология, основанный на теории манипуляции объектами CRUD (Create Read Update Delete) в контексте концепций WWW.
Безусловно, существуют и иные протоколы, но, поскольку они не получили широкого распространения, мы остановимся в этом кратком обзоре на двух основных — SOAP и REST. XML-RPC ввиду того, что является несколько «устаревшим», мы рассматривать подробно не будем.
Нас в первую очередь интересуют вопросы создания новых веб-служб, а не реализация клиентов к существующим (как правило поставщики веб-сервисов поставляют пакеты с функциями API и документацией, посему вопрос построения клиентов к существующим веб-службам менее интересен с точки зрения автора).
SOAP против REST
Проблемы данного противостояния хорошо описаны в статье Леонида Черняка, найденой на портале www.citforum.ru.
По мнению же автора, кратко можно выделить следующее:
SOAP более применим в сложных архитектурах, где взаимодействие с объектами выходит за рамки теории CRUD, а вот в тех приложениях, которые не покидают рамки данной теории, вполне применимым может оказаться именно REST ввиду своей простоты и прозрачности. Действительно, если любым объектам вашего сервиса не нужны более сложные взаимоотношения, кроме: «Создать», «Прочитать», «Изменить», «Удалить» (как правило — в 99% случаев этого достаточно), возможно, именно REST станет правильным выбором. Кроме того, REST по сравнению с SOAP, может оказаться и более производительным, так как не требует затрат на разбор сложных XML команд на сервере (выполняются обычные HTTP запросы — PUT, GET, POST, DELETE). Хотя SOAP, в свою очередь, более надежен и безопасен.
В любом случае вам решать, что больше подойдет вашему приложению. Вполне вероятно, вы даже захотите реализовать оба протокола, чтобы оставить выбор за пользователями службы и — это ваше право.
Практическое применение веб-сервисов
Поскольку речь идет о практическом применении, нам нужно выбрать платформу для построения веб-службы и поставить задачу. Так как автору ближе всего PHP 5, мы и выберем его в качестве технологии для построения службы, а в качестве задачи примем следующие требования.
Допустим, нам необходимо создать службу, предоставляющую доступ к информации о курсах валют, которая собирается нашим приложением, и накапливается в базе данных. Далее посредством веб-сервиса, данная информация передается сторонним приложениям для отображения в удобном для них виде.
Как видим задача довольно проста и, с точки зрения самой службы, ограничивается лишь чтением информации, но в практических целях нам этого будет достаточно.
Этап первый — реализация приложения сбора информации о курсах валют.
Информацию о курсах валют мы будем собирать со страниц сайта НБУ (Национального Банка Украины) ежедневно и складывать в базу данных под управлением СУБД MySQL.
Создадим структуру данных.
Таблица валют (currency):
Таблица номиналов обмена (exchange):
Для работы с базой данных воспользуемся ORM слоем на базе пакета PHP Doctrine. Реализуем граббер:
класс Grubber (models/Grabber.php):
и сам граббер (grabber.php):
Теперь заставим наш граббер отрабатывать раз в сутки в 10:00 утра, путем добавления команды запуска граббера в таблицы cron:
Все — у нас есть достаточно полезный сервис.
Теперь реализуем веб-сервис, который позволит другим приложениям извлекать данные из нашей базы.
Реализация SOAP сервиса
Для реализации веб-сервиса на базе SOAP протокола, мы воспользуемся встроенным пакетом в PHP для работы с SOAP.
Поскольку наш веб-сервис будет публичным, хорошим вариантом будет создание WSDL файла, который описывает структуру нашего веб-сервиса.
WSDL (Web Service Definition Language) — представляет из себя XML файл определенного формата. Подробное описание синтаксиса можно найти здесь.
На практике будет удобно воспользоваться функцией автоматической генерации файла, которую предоставляет IDE Zend Studio for Eclipse. Данная функция позволяет генерировать WSDL файл из классов PHP. Поэтому, прежде всего, мы должны написать класс, реализующий функциональность нашего сервиса.
класс CurrencyExchange (models/CurrencyExchange.php):
Отметим, что для автоматической генерации WSDL, нам необходимо написать комментарии в стиле javadoc, потому что именно в них мы прописываем информацию о типах принимаемых аргументов и возвращаемых значений. Неплохо также описывать в нескольких словах работу методов — ведь WSDL послужит описанием API для сторонних разработчиков, которые будут использовать ваш веб-сервис.
Не пишите в докблоках param void или return void — для WSDL это не критично, но вот при реализации REST доступа к тому-же классу у вас возникнут проблемы.
Теперь в Zend Studio входим в меню File->Export. выбираем PHP->WSDL, добавляем наш класс, прописываем URI-адрес нашего сервиса и создаем WSDL-файл. Результат должен быть примерно таким: http://mikhailstadnik.com/ctws/currency.wsdl
Если вы будете добавлять новую функциональность в ваш веб-сервис, вам нужно будет пересоздавать WSDL-файл. Но здесь не так все гладко. Следует учитывать, что SOAP-клиент, который уже запрашивал ваш WSDL файл, кеширует его на своей стороне. Поэтому, если вы замените старое содержимое новым в WSDL файле, некторые клиенты его не прочтут. А значит, при добавлении новой функциональности, дописывайте версию в имя вашего файла. И не забудбте обеспечить обратную совместимость для старых клиентов, особенно если вы не являетесь их поставщиком.
С другой стороны, WSDL довольно жестко задает структуру веб-сервиса, а это значит, что, если существует необходимость ограничить функциональность клиента по сравнению с сервером, вы можете не включать определенные методы ваших классов в WSDL. Таким образом они не смогут быть вызваны, несмотря на то, что существуют.
Реализация же самого сервера не предстваляет теперь никакой сложности:
Вы можете попробовать веб-сервис в работе по адресу: http://mikhailstadnik.com/ctws/
Там же доступен тестовый клиент: http://mikhailstadnik.com/ctws/client.php
Код простейшего клиента может быть таким:
Реализация REST сервиса
REST — это не стандарт и не спецификация, а архитектурный стиль, выстроенный на существующих, хорошо известных и контролируемых консорциумом W3C стандартах, таких, как HTTP, URI (Uniform Resource Identifier), XML и RDF (Resource Description Format). В REST-сервисах акцент сделан на доступ к ресурсам, а не на исполнение удаленных сервисов; в этом их кардинальное отличие от SOAP-сервисов.
И все же удаленный вызов процедур применим и в REST. Он использует методы PUT, GET, POST, DELETE HTTP протокола для манипуляции объектами. Кардинальное отличие его от SOAP в том, что REST остается HTTP-запросом.
Поскольку в PHP пока еще нет реалзации REST, мы воспользуемся Zend Framwork, в который включена реализация как REST клиента, так и REST севера.
Воспользуемся уже готовым классом CurrencyExchange. Напишем сам сервер:
Как видите все очень сходно и просто.
Однако, следует оговорить, что наш REST-сервис менее защищен, чем SOAP-сервис, так как любой добавленый метод в класс CurrencyExchange при его вызове отработает (сам класс определяет сруктуру сервиса).
Проверим работу нашего сервиса. Для этого достаточно передать параметры вызова метода в сроке GET-запроса:
При желании или необходимости вы можете самомтоятельно задавать структуру ваших XML ответов для сервиса REST. В этом случае, также будет необходимо позаботиться и о создании определения типа вашего XML документа (DTD — Document Type Definition). Это будет минимальным описанием API вашего сервиса.
Простейший тестовый клиент к REST сервису может быть в нашем случае таким:
В принципе, Zend_Rest на сегодняшний день нельзя назвать наиболее точной реализацией принципов REST. Утрируя, можно говорить о том, что эта реализация свелась к удаленному вызову процедур (RPC), хотя философия REST гораздо шире.
Вы можете скачать пример в исходных кодах c PHP Doctrine и Zend Framework (4,42 Мб).
Заключение
Мы выполнили задачу минимум и показали, что такое веб-сервисы, для чего они нужны и как их реализовывать. Естественно, приведенный пример, возможно, несколько оторван от жизни, но он был выбран лишь в качестве инструмента для объяснения предмета и сущности веб-сервисов.
Кроме того мы увидели, что реализация веб-сервиса — задача довольно простая при использовании современного инструментария, который позволяет сконцентрироваться, в первую очередь, на разработке функциональности самого сервиса, не заботясь о низкоуровневой реализации протоколов.
Автор надеется, что данный материал будет действительно полезен тем, кто становится на тропу разработки веб-служб.
3) WSDL
Что такое WSDL?
Язык описания веб-служб (WSDL) — это файл на основе XML, который в основном сообщает клиентскому приложению, что делает веб-служба. Файл WSDL используется для краткого описания того, что делает веб-служба, и предоставляет клиенту всю информацию, необходимую для подключения к веб-службе и использования всех функций, предоставляемых веб-службой.
В этом руководстве мы сосредоточимся на последнем пункте, который является наиболее важной частью веб-служб, а именно на WSDL или языке описания веб-служб.
Файл WSDL используется для краткого описания того, что делает веб-служба, и предоставляет клиенту всю информацию, необходимую для подключения к веб-службе и использования всех функций, предоставляемых веб-службой.
В этом уроке вы узнаете
Структура документа WSDL
Документ WSDL используется для описания веб-службы. Это описание необходимо, чтобы клиентские приложения могли понять, что на самом деле делает веб-служба.
Сам файл WSDL может выглядеть очень сложным для любого пользователя, но он содержит всю необходимую информацию, которая потребуется любому клиентскому приложению для использования соответствующего веб-сервиса.
Ниже приведена общая структура файла WSDL.
Здесь следует отметить одну ключевую вещь: определение сообщений, то есть то, что передается по протоколу SOAP, фактически определено в документе WSDL.
Документ WSDL фактически сообщает клиентскому приложению, какие типы сообщений SOAP отправляются и принимаются веб-службой.
Другими словами, WSDL похож на открытку с адресом определенного места. В адресе указываются данные лица, доставившего открытку. Следовательно, таким же образом файл WSDL представляет собой открытку с адресом веб-службы, которая может предоставить все функции, которые хочет клиент.
Ниже приведена схема структуры файла WSDL
Элементы WSDL
Файл WSDL содержит следующие основные части
Например, может существовать тип данных с именем EmployeeDataType, который может иметь 2 элемента с именем «EmployeeName» типа string и «EmployeeID» с номером типа или целым числом. Вместе они образуют структуру данных, которая затем становится сложным типом данных.
тег используются для инкапсуляции каждого входного и выходного сообщения в одну логическую операцию. Таким образом, может существовать операция под названием «GetEmployee», которая объединяет входное сообщение о принятии EmployeeID из клиентского приложения и последующей отправке EmployeeName в качестве выходного сообщения.
тег используется для привязки операции к конкретному типу порта. Это связано с тем, что когда клиентское приложение вызывает соответствующий тип порта, оно сможет получить доступ к операциям, связанным с этим типом порта. Типы портов похожи на интерфейсы. Поэтому, если клиентскому приложению необходимо использовать веб-службу, ему необходимо использовать информацию о привязке, чтобы обеспечить возможность подключения к интерфейсу, предоставляемому этой веб-службой.
Почему WSDL
Веб-сервис имеет следующие ключевые функции
Файл WSDL написан на простом старом XML. Причина, по которой он находится в XML, заключается в том, что файл может быть прочитан любым языком программирования.
Так вот, где сервис внедряется. Если у вас нет WSDL-файла и вы хотите, чтобы класс Java использовал веб-сервис, вам потребуется много усилий для написания кода.
Часть сообщения WSDL
Этот элемент в основном используется для описания данных, которыми обмениваются веб-сервис и клиентское приложение.
Каждый веб-сервис всегда будет иметь 2 типа сообщений,
Каждое сообщение, в свою очередь, будет иметь элемент
, который используется для описания параметра, используемого входным и выходным сообщением.
Ниже приведен простой пример того, как выглядит сообщение для веб-службы. Функциональность веб-службы заключается в предоставлении названия «Учебника» после того, как «Идентификатор учебника» передан в качестве параметра веб-службе.
Привязка типа порта
Порты используются в WSDL для определения одной полной операции, предлагаемой веб-службой.
В предыдущей теме мы видели, что наш веб-сервис предоставил 2 сообщения, одно для ввода с именем «TutorialNameRequest», а другое для вывода с именем «TutorialNameResponse». Вместе форма ввода и вывода сообщения известна как одна полная операция.
WSDL предоставляет элемент с именем
, который используется для определения операций, предоставляемых веб-службой.
Итак, в нашем примере выше мы можем отметить следующее:
В дополнение к элементу
есть также элемент , который используется для определения способа передачи сообщений.
Создание файла WSDL
Файл WSDL создается всякий раз, когда веб-сервис создается на любом языке программирования.
Ниже приведен пример файла WSDL, созданного в Visual Studio.
Приведенный выше файл WSDL выглядит очень пугающим для любого пользователя, мы подробно рассмотрим различные части в последующих уроках, но сейчас давайте кратко рассмотрим, что на самом деле делает каждый раздел файла WSDL.
Публикация примера веб-сервиса
Теперь давайте рассмотрим пример того, как мы можем опубликовать веб-сервис и использовать его с помощью Visual Studio.
В этом примере мы создадим веб-сервис с одним WebMethod. Этот метод будет принимать параметр Integer с именем «TutorialID». Веб-метод затем возвращает строку с именем «Веб-службы».
Затем мы создадим консольное приложение, которое будет использовать этот веб-сервис и соответственно вызовет наш веб-метод.
Давайте посмотрим на шаги, необходимые для выполнения этого примера.
Шаг 1) Первый шаг — создать свой веб-сервис. Подробное описание того, как создается веб-проект Asp.Net и веб-служба, было объяснено здесь; Пожалуйста, выполните те же шаги, чтобы создать проект и веб-сервис соответственно. Ключевой частью является ввод приведенного ниже кода в файл веб-сервисов.
Объяснение кода:
Шаг 2) После того, как мы определили файл веб-сервисов, следующим шагом будет создание клиентского проекта, который будет использовать этот веб-сервис.
Давайте создадим простое консольное приложение, которое вызовет этот веб-сервис, вызовет «Guru99WebService» и затем отобразит вывод веб-метода на экране журнала консоли. Выполните следующие шаги, чтобы создать консольное приложение.
Щелкните правой кнопкой мыши файл решения Visual Studio и выберите опцию Добавить-> Новый проект
Шаг 3) На этом этапе
После того, как вы нажмете кнопку OK на приведенном выше экране, вы сможете увидеть проект в обозревателе решений в Visual Studio.
Шаг 4) На этом этапе вы устанавливаете консольное приложение DemoApplication в качестве запускаемого проекта. Это сделано для того, чтобы приложение запускалось первым при запуске всего проекта Visual Studio. Это консольное приложение, в свою очередь, вызывает веб-сервис, который будет автоматически запущен Visual Studio.
Чтобы выполнить этот шаг, щелкните правой кнопкой мыши проект DemoApplication и выберите параметр «Сделать стартовым проектом».
Шаг 5) Следующим шагом является добавление сервисной ссылки нашего «Guru99Webservice» в наше консольное приложение. Это сделано для того, чтобы DemoApplication мог ссылаться на веб-сервис и все веб-методы в веб-сервисе.
Для этого щелкните правой кнопкой мыши файл проекта DemoApplication и выберите пункт меню Add-> Service Reference.
Шаг 6) На этом шаге мы предоставим различные значения, необходимые для добавления нашей ссылки на услугу.
Когда мы нажимаем кнопку «ОК», весь необходимый код для доступа к этой веб-службе будет добавлен в наше приложение консоли DemoApplication, как показано ниже.
На снимке экрана показано, что «Guru99Webservice» был успешно добавлен в наше консольное приложение.
Шаг 7) Следующим шагом является добавление кода в наше консольное приложение для доступа к веб-методу в нашем веб-сервисе. Откройте файл кода Program.cs, который автоматически поставляется с консольным приложением, и добавьте приведенный ниже код.
Объяснение кода: —
Вывод
Если все вышеперечисленные шаги выполнены и DemoApplication запущен, будут отображены следующие выходные данные.
Из этого вывода мы ясно видим, что DemoApplication вызывает наш веб-сервис и что строка, возвращенная веб-сервисом, отображается в нашем журнале консоли.
Резюме