Иллюстрированный самоучитель по Architecture .NET

Создание клиентской программы, обращающейся к Web-службе

Клиентская программа, которая обращается к Web-службе, может быть бого вида Сейчас мы создадим простую консольную клиентскую программу для тестирования только что созданной Web-службы на основе библиот шаблонных классов ATL [Эта клиентская программа имеется в каталоге ATLServerWebClient].

  1. Выберите следующие пункты меню: File › New › Project (Файл › Создать › Проект)
  2. В дереве Project Types (Типы проектов) откройте узел Visual C++ Projects (Проекты Visual C++)
  3. В окне Templates (Шаблоны) выберите Win32 Project (Проект Win32). В результате появится ATL Server Project Wizard (Мастер создания проектов на основе ATL Server)
  4. В качестве имени проекта введите ATLServerWebChent
  5. Введите подходящее имя каталога, предназначенного для хранения проекта
  6. Для запуска Мастера создания проектов Win32 (Win32 Project Wizard) щелкните на кнопке ОК
  7. На вкладке Application Settings (Параметры приложений) Мастера создания проектов Win32 (Win32 Project Wizard) выберите переключатель Console application (Консольное приложение)
  8. Щелкните на кнопке Finish (Готово).
  9. В Solution Explorer (Поиск решения) щелкните правой кнопкой мыши на узле ATLServerWebChent. В контекстном меню выберите пункт Add Web Reference (Добавить Web-ссылку)
  10. В диалоговом окне Add Web Reference (Добавить Web-ссылку) укажите унифицированный указатель информационного ресурса (URL) для ATLServerWeb.disco [При создании проекта Web-службы на основе библиотеки шаблонных классов ATL файл обнаружения был автоматически размешен в соответствующем виртуальном каталоге информационного сервера Internet (IIS) ] – файла обнаружения Web-службы на основе библиотеки шаблонных классов ATL (рис 12 26). Затем щелкните на кнопке Add Reference (Добавить ссылку). В клиентский проект будет добавлен файл исходного кода ATLServerWeb.h, который реализует объект – заместитель, предназначенный для вызова методов Web-службы [При изменении серверного интерфейса это действие надо повторить чтобы сгенерировать для клен-та новый заместитель].
  11. Откройте файл исходного кода ATLServerWebClient.cpp и вставьте в него код, выделенный полужирным шрифтом.
#include "stdafx.h"
#define _WIN32_WINNT 0x0400 // нужна _WIN32_WINNT >= 0x0400
#include "ATLServerWeb.h" // необходимо обратиться к прокси-серверу
int _tmain(int argc, _TCHAR* argv[])
{
Colnitialize(NULL); // ПУСТОЙ УКАЗАТЕЛЬ
ATLServerWebService::CATLServerWebServiceTO service; // служба
CComBSTR bstrInput(L"ATL Web Service");
// Web-служба на основе ATL
CComBSTR bstrOutput;
service.HelloWorId(bstrlnput, SbstrOutput); // служба
wprintf(
L"HelloWorld returned bstrOutput: %s\n",
bstrOutput);
return 0;
}

Иллюстрированный самоучитель по Architecture .NET › Web-узлы и Web-службы, работающие на основе ATL Server › Создание клиентской программы, обращающейся к Web-службе
Рис. 12.26. Добавьте Web-ссылку в ATLServerWeb disco

  1. Создайте проект клиента Web-службы на основе библиотеки шаблонных классов ATL и запустите его так, как это обычно делается Затем запустите программ, и тогда вы сможете увидеть следующий результат:
HelloWorld returned bstrOutput Hello ATL Web Service!
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.