Вопрос

Как создать объект UserConnection

Добрый день всем,
Хочу протестировать бизнес процесс путем программного вызова - НЕ ЧЕРЕЗ ВЕБ СЕРВИС.

string processName = "Process2";
var schema = userConnection.ProcessSchemaManager.GetInstanceByName(processName);
var process = schema.CreateProcess(userConnection);
process.SetPropertyValue("value1", value1);
process.Execute(userConnection);

Как мне получить и создать userConnection и AppConnection?

У меня такой же вопрос

8 комментариев

Добрый день!!!

using Terrasoft.Core;

позволит вам обратиться к Методам и Свойствам "userConnection" и "AppConnection"

будут еще дополнительные вопросы обращайтесь поможем.

Михаил, спсаибо
Это простр имен у меня подключено. Свойства и методы вываливаются, но дальше не знаю как быть. В веб сервисе эти объекта считываются из переменной сессий или глоб переменных

_userConnection = HttpContext.Current.Session["UserConnection"] as UserConnection;
var appConnection = HttpContext.Current.Application["AppConnection"] as AppConnection;

Пытаюсь сделать так:

string sessionId = Guid.NewGuid().ToString("N");
Thread.CurrentPrincipal = new TerrasoftPrincipal(new GenericIdentity(userName), new string[0], sessionId);
 _userConnection = new UserConnection(appConnection);
 _userConnection.Initialize();
 _userConnection.SessionId = sessionId;
 _userConnection.Login(userName, false);

Не знаю как правильно передавать параметры логина, пароль, хоста через свойства этих объектов

Снаружи не через сервис вы БП не запустите. Из API у нас только OData.

Жалко, был бы удобный и быстрый инструмент для тестирования. OData не позволяет запускать БП? А как мне запустить БП из веб интерфейса (главное окно MainMenu) с передачей параметров, ну например Id договора?

Через OData можно запустить БП. В этой теме есть примеры.

спсб, работает
сделал в 2 этапа
1. авторизация через AuthService.svc с сохранением в куки
2. ProcessEngineService.svc с чтением из куки. Без 1 этапа отбрасывает на авторизацию

Специалист CRM,

 поделитесь итоговым кодом пожалуйста

 

Сомнительно, что код пятилетней давности тут поможет. Как минимум, при авторизации добавили проверку BPMCSRF.

Войдите или зарегистрируйтесь, чтобы комментировать