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