Доступ к Web-службе программными средствами
Доступ к Web-службе программными средствами
Попробуем теперь использовать созданную Web-службу программными средствами из другого приложения, будь то обычное приложение Windows или Web-приложение.
Для соединения с Web-службой нужно создать Web-ссылку. Для создания такого соединения можно послать простой GET-запрос на основе протокола HTTP, который обычно заканчивается вопросительным знаком (?) с параметрами, разделенными амперсандами (&), например: http://search.yahoo.com/bin/search?p=VB.Net&VS.Net.
Кроме того, для создания соединения можно послать простой POST-запрос на основе протокола HTTP, параметры которого передаются в HTTP-заголовках. Еще один способ основан на применении протокола SOAP, благодаря которому Web-серверу посылается специализированный XML-файл, а Web-служба, в свою очередь, возвращает специализированный XML-файл в контейнере, заданном в SOAP-запросе.
Рис. 12.1. Диалоговое окно Add Web Reference
Для демонстрации программного доступа к Web-службе создайте проект нового консольного приложения Visual Basic .NET на основе шаблона Console Application среды Visual Studi o.NET. Учтите, что основные принципы доступа к Web-службе остаются одинаковыми независимо от типа проекта. После создания проекта щелкните правой кнопкой мыши на элементе References в окне Solution Explorer и в контекстном меню выберите команду Add Web Reference (Создать Web-ссылку). На экране появится диалоговое окно Add Web Reference (рис. 12.1). Укажите в текстовом поле Address (Адрес) URL-указатель используемой Web-службы и нажмите клавишу <Enter>. После этого в правой части диалогового окна Add Web Reference сразу же появится описание Web-службы NoveltyServices (см. рис. 12.1). Такой результат получается благодаря языку WSDL, который вставляет метаданные с описанием Web-службы в ее код. Щелкните на кнопке Add Reference для закрытия данного диалогового окна и вставки созданной ссылки в проект консольного приложения. В окне Solution Explorer теперь появится новая Web-ссылка, аналогичная показанной на рис. 12.2.
РИС. 12.2. Новая Web-ссылка в окне Solution Explorer
НА ЗАМЕТКУ
Если доступа каталогу или Web-серверу нужно пройти аутентификацию, то код нужно разместить в приложении, а не в Web-службе.
Теперь, после создания Web-ссылки, остается только включить в код консольного приложения три строки, которые показаны в листинге 12.9 с полным кодом основного модуля Module1.vb консольного приложения ConsoleApplication1.
ЛИСТИНГ 12.9. Код основного модуля Module1.vb
Module Module1
Sub Main()
Dim GRC As New localhost.NoveltyServices()
Try
System.Console.WriteLine(GRC.ShowGetRowCount.ToString)
GRC.Dispose()
Catch
System.Console.WriteLine(Err.Description)
End Try
End Sub
End Module
Здесь объект GRC обозначает Web-службу localhost.NoveltyServices(). Дело в том, что в данном примере используется локальный Web-сервер localhost, который в листинге 12.8 играет роль пространства имен для данной Web-службы. Учтите, что пространства имен должны иметь уникальные имена (например, название вашей компании) или полностью квалифицированное имя домена, на котором располагаются ваши Web-службы. Например, сотрудники компании Microsoft могут использовать в качестве имени для пространства имен адрес www.microsoft.com. Тогда объявление нового объекта objectname в данном пространстве имен будет иметь следующий вид:
new www.microsoft.com.objectname
После вставки дополнительных строк кода в основной модуль Module1.vb и указания Web-ссылки на Web-службу можно скомпоновать все решение. Для этого щелкните правой кнопкой мыши на имени решения в окне Solution Explorer и выберите в контекстном меню команду Build Solution. Для запуска полученного приложения откройте консольное окно Windows и в режиме командной строки укажите каталог проектов VS.NET, который по умолчанию имеет вид
C:Documents and Settings<имя_лользователя>Му DocumentsVisual Studio Projects
Далее найдите в основном каталоге этого консольного приложения (т.е. в каталоге ConsoleApplication1 в данном примере) его подчиненный каталог bin. В нем содержится выполняемый файл проекта ConsoleApplication1.exe. Введите в командной строке путь к нему, имя, а затем нажмите клавишу <Enter>.
C:Documents and Settings<имя_пользователя>Му DocumentsVisual Studio ProjectsConsoleApplication1inConsoleApplication1.exe
Спустя несколько секунд в командной строке появится результат выполнения консольного приложения и вызванной им Web-службы, а именно: количество записей в таблице tblCustomer базы данных Novelty.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
2.4. Интеграция со средствами разработки ПО
2.4. Интеграция со средствами разработки ПО Обычно, программный продукт проходит стадии разработки, представленные на рис. 3. Рис. 3. Стадии разработки ПОВ [24] описан способ, позволяющий уменьшить общее время разработки программного продукта за счет объединения средств
3.4. Интеграция со средствами разработки ПО
3.4. Интеграция со средствами разработки ПО При мониторинге особое внимание уделяется работе псевдоагентов, которые закладываются в код программы на этапе компиляции. Для их успешной работы по сбору необходимой информации требуется наличие на целевой машине ряда
Кто у кого на службе?
Кто у кого на службе? После проведенного обзора технологий может показаться, что клиентская оптимизация является лишь составляющей частью серверной. Однако это не так: при построении высокопроизводительных веб-приложений должен присутствовать и клиентский, и серверный
Менеджеры закачек на службе у пользователя
Менеджеры закачек на службе у пользователя Существует множество менеджеров закачек и, хотя все они обладают различными дополнительными функциями и способом распространения — один платный, другой "умеет" загружать файлы из пиринговых сетей, третий способен
Глава 6 Пиринговые сети, торренты, сиды и раздачи на службе у пользователя
Глава 6 Пиринговые сети, торренты, сиды и раздачи на службе у пользователя Интернет прочно вошел в нашу жизнь. Теперь многие и не представляют себе, как бы они узнавали последние новости, обменивались письмами или ходили в магазин без этой вездесущей паутины. А на заре
1.1.7. Создание окон средствами VCL
1.1.7. Создание окон средствами VCL Теперь поговорим о том, как в VCL создаются окна. Речь здесь будет идти не о написании кода для создания окна с помощью VCL (предполагается, что читатель это и так знает), а о том, какие функции API и в какой момент вызывает VCL при создании окна.Если
Создание файла *.resx программными средствами
Создание файла *.resx программными средствами Как было отмечено выше, файл *.resx содержит XML-данные, представляющие пары имен и значений для каждого ресурса приложения. Класс ResXResourceWriter предлагает набор членов, с помощью которых вы можете создать файл *.resx, добавить в него
НОВОСТИ: Интеллектуалы на службе милитаризма
НОВОСТИ: Интеллектуалы на службе милитаризма Автор: Киви БердВ США издана книга, впервые рассказывающая о почти полувековой истории сверхсекретной научно-исследовательской структуры Jason, которая ежегодно собирается из видных американских ученых для оказания
ОПЫТЫ: Беспроводное «Настроение»: WiMAX-технологии на службе у телевидения
ОПЫТЫ: Беспроводное «Настроение»: WiMAX-технологии на службе у телевидения Автор: Константин КурбатовАссортимент телеоборудования чрезвычайно широк и удовлетворяет любые потребности персонала студий, но беда в том, что техника эта очень дорога. Однако телевизионщики,
Электроника будущего на службе человечества
Электроника будущего на службе человечества Автор: Сергей ЛеоновЗдесь публикуются высказывания семи выдающихся изобретателей и руководителей промышленности, заложивших основы и ведущих современные разработки в растущей и весьма перспективной области науки и техники
Промзона: Солнце и ветер на службе туристов Николай Маслухин
Промзона: Солнце и ветер на службе туристов Николай Маслухин Опубликовано 20 мая 2010 года Сложно поспорить с тем, что GPS-навигация и экстренная телефонная связь нужны даже на Эвересте. Более того, я уверен, что доступ к тематическим форумам гораздо
Ряд соображений о мотивации детей индиго на службе Органов Сергей Голубицкий
Ряд соображении? о мотивации детеи? индиго на службе Органов Сергей Голубицкий Опубликовано 12 августа 2013 Мое очное общение с Органами продолжалось 10 минут. Очное, потому что заочно мы наверняка были знакомы — вернее, они были знакомы со мной.
Коммуникационные технологии на службе народа... или власти Сергей Голубицкий
Коммуникационные технологии на службе народа... или власти Сергей Голубицкий Опубликовано 31 января 2014 Минувшим летом я рассказывал читателям о том, как современные технологии были задействованы во время народных протестов в Турции против
Архивация средствами Windows
Архивация средствами Windows Сегодня встроенные средства архивации имеет практически каждая операционная система. В операционных системах семейства Unix широко распространены производные от ZIP форматы: TGZ, BZip2, а также сам ZIP. В Windows поддерживается только ZIP, чего, впрочем,
SkyNet на Секретной Службе: Об одном невидимом, но крайне существенном рынке для ИТ-индустрии Михаил Ваннах
SkyNet на Секретной Службе: Об одном невидимом, но крайне существенном рынке для ИТ-индустрии Михаил Ваннах Опубликовано 27 апреля 2013Мы живём в эру, когда образы, почерпнутые из коммерческой мифологии, формируют реальность. Кто самый известный рыцарь плаща и кинжала?