Architecture Net

       

Создание клиентской программы, обращающейся к 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;
    }



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

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


  • HelloWorld returned bstrOutput Hello ATL Web Service !

    CompEbook.ru Железо, дизайн, обучение и другие


    Содержание раздела