Creatio development guide
Это документация Creatio версии 7.8.0. Мы рекомендуем использовать новую версию документации.

Как создать свой конфигурационный сервис

Glossary Item Box

Общие положения

Сервисная модель bpm'online реализует базовый набор веб-сервисов, с помощью которых может быть организована интеграция bpm'online с внешними приложениями и системами. Примерами системных сервисов являются EntityDataService.svc, который предоставляет возможности обмена данными с bpm'online по протоколу OData, а также ProcessEngineService.svc, с помощью которого можно осуществлять запуск бизнес-процессов bpm'onlne из внешних приложений.

В bpm'online вы можете создавать свои пользовательские веб-сервисы в конфигурации, с помощью которых реализовывать специфичные интеграционные задачи.

Конфигурационный веб-сервис представляет собой RESTful-сервис, реализованный на базе технологии WCF.

Порядок создания конфигурационного сервиса. 

Чтобы создать свой веб-сервис в конфигурации, необходимо:

  1. Создать в конфигурации схему исходного кода на языке C#.
  2. В блок usings добавить ссылки на пространства имен System.ServiceModelSystem.ServiceModel.WebSystem.ServiceModel.Activation.
  3. В пространстве имен Terrasoft.Configuration создать класс сервиса и пометить его атрибутами [ServiceContract] и [AspNetCompatibilityRequirement] с параметрами (см. пример реализации).
  4. В созданный класс добавить реализацию методов сервиса. Каждый метод сервиса должен быть помечен артибутами [OperationContract] и [WebInvoke] с параметрами (см. пример реализации).
  5. При необходимости вы можете реализовать дополнительные классы — объектные типы данных, с которыми будет работать ваш сервис. Каждый такой класс должен быть помечен атрибутом [DataContract], а поля класса — атрибутом [DataMember].
  6. Выполнить публикацию схемы исходного кода.

После публикации схемы созданный веб-сервис станет доступен для вызова из программного кода конфигурационных схем, а также из внешних приложений. Более подробно о вызове конфигурационных веб-сервисов изложено в статье "Как программно вызвать конфигурационный сервис".

Пример создания конфигурационного сервиса

В примере создается конфигурационный сервис с одним методом. Метод принимает один входящий параметр строкового типа и возвращает также строку.

Полный программный код веб-сервиса приведен ниже:

// Класс конфигурационного сервиса должен быть реализован в пространстве имен Terrasoft.Configuration.
// При необходимости можно создавать для веб-сервиса свое рабочее пространство, но оно должно быть 
// обязательно вложенным в Terrasoft.Configuration.
namespace Terrasoft.Configuration.CustomConfigurationService
{
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.ServiceModel.Activation;

    // Класс сервиса помечен обязательными атрибутами [ServiceContract] и 
    // [AspNetCompatibilityRequirements] с параметрами.
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class CustomConfigurationService
    {
        // Метод сервиса помечен обязательными атрибутами [OperationContract] и 
        // [WebInvoke] с параметрами.
        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
        ResponseFormat = WebMessageFormat.Json)]
        public string GetTransformValue(string inputParam)
        {
            var result = inputParam + " + output string";
            return result;
        }
    }
}
© Terrasoft 2002-2016.

Был ли данный материал полезен?

Как можно улучшить эту статью?