Текущий архив: 2003.02.24;
Скачать: CL | DM;
Вниз
Использование сложных типов данных в XML Web Services? Как? Найти похожие ветки
← →
IInvokable © (2003-01-05 17:36) [0]Детские примеры Веб-сервисов с простейшими типами данных Integer, string и т.д. работают нормально. К детским я отношу примеры написания Веб-сервиса типа "конверталка рублей в доллары и обратно", однако возникает вполне законный и мотивированный вопрос: как написать на D6 веб-сервис, с методами, принимающими в качестве параметров сложные типы данных и возвращающих сложнотипизированные результаты? Живой пример: у меня в интранете есть сервис - "Директория внутренних телефонов сотрудников компании". Он реализован как клиент/серверное приложение, общающийся через порт, например 5289. Ессно, доступ в интранет извне закрыт фаерволом. Я хочу написать веб-сервис, который работает под корпоративным веб-сервером и принимает запросы типа (буду использовать псевдоязык):
function GetEmployeeInfoByLastname( кусок фамилии сотрудника): сложная структура информации о сотруднике;
Сервер должен кьюерить SQL-сервер командой типа
SELECT EmpID, EmpLocalPhone, EmpPosition FROM Employees WHERE EmpLastname LIKE "Пет%"
Естественно, такой запрос может возвратить более одной записи (Петров, Петренко, Петухов). Все это на стороне сервера я хочу запихнуть в
type TEmpInfo = record
eid: Integer;
eLPhone: string;
ePos: string;
end;
...и отдать этот сложный DataSet обратно клиенту в SOAP-сообщении.
ВОПРОС: Как мне это реализовать?
Порождение собственных типов от класса TRemotable у меня не получается. Может я что не так делаю? В D6 \Demos\WebServices есть пара примеров, но они все завязаны на InterBase, которую я в принципе не использую.
Заранее благодарен за ответы.
← →
Mike_Goblin © (2003-01-05 18:05) [1]Для начала прочесть в help раздел
Using complex types in invokable interfaces
потом все же разобраться с примерами
Страницы: 1 вся ветка
Текущий архив: 2003.02.24;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.013 c