Создание клиентской программы обращающейся к Webслужбе
Создание клиентской программы, обращающейся к Web-службе
Клиентская программа, которая обращается к Web-службе, может быть бого вида Сейчас мы создадим простую консольную клиентскую nporpai для тестирования только что созданной Web-службы на основе библиот шаблонных классов ATL [Эта клиентская программа имеется в каталоге ATLServerWebClient].
- Выберите следующие пункты меню. File^NewoProject (ФайлОСоздатьОПроект)
- В дереве Project Types (Типы проектов) откройте узел Visual C++ Projects (Проекты Visual C++)
- В окне Templates (Шаблоны) выберите Win32 Project (Проект Win32) В результате появится ATL Server Project Wizard (Мастер создания проектов на основе ATL Server)
- В качестве имени проекта введите ATLServerWebChent
- Введите подходящее имя каталога, предназначенного для хранения проекта
- Для запуска Мастера создания проектов Win32 (Win32 Project Wizard) щелкните на кнопке ОК
- На вкладке Application Settings (Параметры приложений) Мастера создания проектов Win32 (Win32 Project Wizard) выберите переключатель Console application (Консольное приложение)
- Щелкните на кнопке Finish (Готово).
- В Solution Explorer (Поиск решения) щелкните правой кнопкой мыши на узле ATLServerWebChent В контекстном меню выберите пункт Add Web Reference (Добавить Web-ссылку)
- В диалоговом окне Add Web Reference (Добавить Web-ссылку) укажите унифицированный указатель информационного ресурса (URL) для ATLServerWeb disco [При создании проекта Web-службы на основе библиотеки шаблонных классов ATL файл обнаружения был автоматически размешен в соответствующем виртуальном каталоге информационного сервера Internet (IIS) ] — файла обнаружения Web-службы на основе библиотеки шаблонных классов ATL (рис 12 26) Затем щелкните на кнопке Add Reference (Добавить ссылку) В клиентский проект будет добавлен файл исходного кода ATLServerWeb. h, который реализует объект- заместитель, предназначенный для вызова методов Web-службы [При изменении серверного интерфейса это действие надо повторить чтобы сгенерировать для клен-та новый заместитель].
- Откройте файл исходного кода 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;
}
Содержание раздела