на начало
На главную страницу
Форум   

Код Web-службы на основе ATL Server: ATLServerWebService.h

страницы в данном разделе 
» Глава 12. Web-узлы и Web-службы, работающие на основе ATL Server » Web-узлы и Web-службы, работающие на основе ATL Server
» История технологий, работающих с динамическим содержимым Web » Приложения на основе ATL Server
» ATL Server основан на интерфейсе прикладного программирования Internet-сервера (ISAPI) » Архитектура приложения, использующего ATL server
» Создание проекта ATL Server Project (Проект на основе ATL Server) » Динамически подключаемая библиотека (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI)
» Динамически подключаемая библиотека (DLL) Web-приложения » Создание и запуск проекта на основе ATL Server
» Добавление в сервер еще одного обработчика » Добавление на сервер обработки управляющей структуры if-else-endif
» Добавление на сервер обработки управляющей структуры while-endwhile » Передача параметров серверному обработчику
» Поддержка состояния сеанса » Получение доступа к переменным сервера
» Обработка форм » Службы сеанса
» Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project) » Код Web-службы на основе ATL Server: ATLServerWebService.h
» Создание клиентской программы, обращающейся к Web-службе » Добавление функций в Web-службу на основе ATL Server
» Изменение клиентской программы, работающей с Web-службой » Передача структур в качестве входных и выходных параметров
» Резюме »  

Статья :: Код Web-службы на основе ATL Server: ATLServerWebService.h

Код Web-службы на основе ATL Server: ATLServerWebService.h

Код Web-службы на основе ATL Server: ATLServerWebService.h

Главное, чем генерация Web-приложения отличается от генерации Web-службы, — это файл ATLServerWebService . h. В обоих случаях в этом файле определяется, хотя и с небольшим количеством отличий, класс обработчика запросов на основе ATL Server. В файле ATLServerWebService .h определяется также пространство имен и интерфейс доступа к Web-службе с помощью протокола SOAP. Вот код пусковой системы для этого файла. Обратите внимание, что в нем определяется интерфейс lATLServer-WebService. Именно этот интерфейс реализуется классом обработчика запросов, находящимся в одноименном исходном файле.

namespace ATLServerWebService
// пространство имен ATLServerWebService
{
// все структуры, перечисления и операторы typedef
// для вашей Web-службы должны быть размещены
// в этом пространстве имен
// IATLServerWebService - объявление интерфейса Web-службы
//
[
uuid("53A879FF-9D20-42A8-9978-COD4B05B10B7"),
object // объект
]
_interface lATLServerWebService // интерфейс
{
// HelloWorld - метод примера Web-службы на основе ATL Server.
//Он показывает, как объявить метод Web-службы, а также
// входные и выходные параметры
[id(1)] HRESULT HelloWorld( // идентификатор (1)
[in] BSTR bstrlnput, [out, retval] BSTR *bstrOutput);
// TODO: Add additional Web Service methods here
// TODO: Добавьте здесь дополнительные методы Web-службы
};
// ATLServerWebService - реализация Web-службы
//
[
request_handler(name="Default", // по умолчанию
sdl="GenATLServerWebWSDL") ,
soap_handler(
name="ATLServerWebService",
namespace="urn:ATLServerWebService", // пространство имен
protocol="soap" // протокол
)
]
class CATLServerWebService :
public lATLServerWebService
{
public:
// Это - пример метода Web-службы, который показывает как
// использовать атрибут soap_method, чтобы предоставить
// метод для использования как Web-метод
[ soap_method ]
HRESULT HelloWorld(
/*[in]*/ BSTR bstrlnput,
/*[out, retval]*/ BSTR *bstrOutput)
{
CComBSTR bstrOut(L"Hello "); // Привет
bstrOut += bstrInput;
bstrOut += L"!";
*bstrOutput = bstrOut.Detach();
return S_OK;
}
// TODO: Add additional Service methods here
// TODO: Добавьте здесь дополнительные методы Web-службы
};
// класс CATLServerWebService
}
// пространство имен ATLServerWebService

Создайте проект, а затем запустите его, как это обычно делается. В значениях свойств отладки проекта, установленных по умолчанию, задан унифицированный указатель информационного ресурса (URL) http://localhost/ATLServerWeb/ATLServerWeb .dll?Handler=GenATLServerWebWSDL. Результат просмотра этого унифицированного указателя информационного ресурса (URL) показан на рис. 12.25. При этом на самом деле никакие возможности Web-службы не вызываются. Просто на экран выводится XML-представление ее интерфейса.
Хотя просматривать эту страницу в броузере достаточно удобно, но такой способ доступа к Web-службе или ее использования нельзя назвать нормальным. Как правило, методы Web-службы вызываются клиентом из распределенного приложения. Чтобы увидеть, как это происходит, нам придется создать клиентскую программу, которая и будет делать такие вызовы.

25.gif

Рис. 12.25. Просмотр в броузере проекта Web-службы на основе библиотеки шаблонных классов ATL (Web A TL Service Project).



Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
© faq.pp.ru, справочник программиста
Яндекс цитирования