Добавление функций в 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 (Сложить)].
Теперь сервер готов для доступа к нему с любой клиентской программы, которая передает на сервер два целых параметра, а с него получает один параметр, и тоже целый.