Architecture Net

       

Добавление функций в Web-службу на основе ATL Server


Вы, может быть, помните пример SimpleWebService из главы 11 "Web службы", всо-тором выполнялось сложение двух чисел Похожие возможности мы сейчас добавм в проект ATLServerWeb, только что созданный в этой главе Итак, мы добавим метод, к<го-рый принимает два целых параметра и возвращает их сумму Чтобы добавить ноую функцию, просто выполните указанную последовательность действий

  • Откройте только что созданное решение ATLServerWeb sin
  • В файл ATLServerWeb.h вставьте определение метода Add (Сложить) в инер-фейс lATLServerWebService, как показано полужирным шрифтом [В уже существующем методе HelloWorld значение диспетчерского идентификатора установленоэав-ным 1 В этом примере диспетчерские идентификаторы не используются но если вы очень хотите |ри-своить диспетчерский идентификатор новому методу Add (Сложить) то должны использовать слеую-щее доступное число, каким должно быть число 2].
  • _interface lATLServerWebService // интерфейс
    {
    // TODO: Add additional Web Service methods here
    // TODO: Добавьте здесь дополнительные методы Web-службы
    HKESULT Add( // Сложить
    [in] long x, [in] long y, [out, retval] long *psum);
    };

  • В том же файле ATLServerWeb. h вставьте, как показано полужирным шрифтом, реализацию метода Add (Сложить) в класс CATLServerWebService
  • class CATLServerWebService :
    public IATLServerWebService
    {
    public:
    // TODO. Add additional Service methods here
    // TODO: Добавьте здесь дополнительные методы Web-службы
    [ soap_method ]
    HRESULT Add(long x, long y, long *psum)
    {
    *psum = x + y;
    return S_OK;
    }
    }; // класс CATLServerWebService

  • Создайте проект [Перейдя в своем броузере по адресу http //localhost/ATLServerWeb/ ATLServerWeb dll"> Handler=GenATLServerWebwSDL, вы увидите, что появилась новая информация— о методе Add (Сложить)].
  • Теперь сервер готов для доступа к нему с любой клиентской программы, которая передает на сервер два целых параметра, а с него получает один параметр, и тоже целый

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



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