Architecture Net или что такое Microsoft.NET?




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

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

  1. Выберите следующие пункты меню. File^NewoProject (ФайлОСоздатьОПроект)
  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;
}

 

26.gif

Рис. 12.26. Добавьте Web-ссылку в ATLServerWeb disco

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

HelloWorld returned bstrOutput Hello ATL Web Service !