Сервис конфигурационных данных (ExternalConfig.asmx)
Сервис конфигурационных данных – это небольшой вспомогательный сервис для хранения части настроек внешнего приложения, касающихся LanDocs, на стороне LanDocs. Его применение может быть полезным, если внешнее приложение обслуживает небольшую группу пользователей с небольшим количеством параметров для каждого пользователя. Схема данных Логически данные образуют простую двухуровневую схему: Внешний сервис (идентифицируется по имени). § Простые значения (ключ – строковое значение); § Коллекции (ключ – список строковых значений); § Словарь (ключ – коллекция пар (ключ – строковое значение)). Разработчики внешнего приложения и администраторы LanDocs должны договориться об имени сервиса (оно уникально для каждого внешнего приложения) и об именах и назначении параметров. Конфигурационный файл На данный момент все конфигурационные данные должны храниться в XML-файле с именем External.сonfig. Расширение.config обеспечивает недоступность файла для скачивания извне через IIS. В будущих версиях, если возникнет в этом необходимость, возможно хранение конфигурации в базе данных. Пользователи сервиса не должны делать предположений о том, где хранятся данные. Сервис отслеживает изменения в файле и автоматически их подхватывает. Пример конфигурационного файла В поставку web-сервисов входит файл ExternalSample.config как пример возможного содержимого. Его можно переименовать в External.config и отредактировать. <?xml version="1.0" encoding="UTF-8"?> <Config xmlns="http://schemas.landocs.ru/ContentServer/ExternalConfig/file/201008"> <!-- Это пример конфигурационного файла для ExternalConfig.asmx сервиса. Переименуйте его в External.config и отредактируйте содержимое. Каждый элемент Service соответсвует одному внешнему клиенту (программе).
Имя сервиса и набор свойств определяется для каждого клиента отдельно на этапе постановки задачи. --> <Service name="TestService"> <Property name="SampleProperty" value="Property"/> <Collection name="SampleCollection"> <Value>Value1</Value> <Value>Value2</Value> </Collection> <Dictionary name="SampleMap"> <Entry key="Key1" value="Value1"/> <Entry key="Key2" value="Value2"/> </Dictionary> </Service> </Config> Описание методов Сервис содержит всего 3 метода; каждый принимает на вход имя сервиса и имя параметра. Как уже говорилось, разработчики внешнего приложения и администраторы LanDocs должны договориться между собой об имени сервиса и именах параметров.
Примечание к вызову методов В текущей реализации (3.0.2.20) методы сервиса не требуют предварительной авторизации через OpenSession в BMService.asmx, но это может быть потребовано в дальнейшем. Для совместимости с будущими версиями, передавайте cookie, полученные при открытии сессии, в методы ExternalConfig.asmx.
Сервис для работы с подсистемой безопасности (Security.asmx) Сервис предоставляет методы для взаимодействия с сервером безопасности LanDocs. Для корректной работы этих методов сервер приложений должен быть сконфигурирован на использование библиотеки безопасности: § Подсистема безопасности должна быть включена (параметр конфигурации сервера SecurityEnabled=”true”). § Клиентские компоненты подсистемы безопасности должны быть установлены. По умолчанию сервер ищет их в папке с 32-битным сервером. В случае необходимости, путь к ним можно задать в параметре конфигурации сервера SecuritySystemDirectory (см. документацию по параметрам конфигурации сервера приложений).
Физическая структура сервиса Все методы сервиса располагаются в одном файле Security.asmx. Поддержка ASP.NET-сессии Сервисы для работы с подсистемой безопасности, как и остальные web-сервисы LanDocs, требуют наличия ASP.NET-сессии. Клиент должен позаботиться о передаче стандартного идентификатора ASP.NET-сессии через cookies при каждом обращении к методам web-сервиса.
Описание методов CertifySignature Заверка клиентской подписи на сервере безопасности. Формат вызова: byte[] CertifySignature(byte[] clientSignature); Параметры: § clientSignature - подпись, сформированная клиентом. Результат выполнения операции: Подпись, заверенная сервером безопасности. Пример использования: byte[] certifiedSignature = service.CertifySignature(clientSignature);
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|