Колеги, доброе время суток всем!
У меня вопрос такого плана происходит вызов процесса из сервиса и его отработка не совсем корректно отрабатывает в разных случаях.
Ситуация следующая, когда из postman стреляю пост запросом в сервис creatio, то внутри вызывается процесс и все ок отрабатывает. Хочу заметить пользуюсь вот такой ссылкой https://адресс-приложения/0/rest/NameService/MethodService, использую базовую авторизацию - логин и пароль беру из Системные настройки.
И в этом случае все ок. Процесс все предназначенные ему действия выполняет и ничего не пропускает.
Но как только происходит вызов сервиса по системам интеграции через OData, внутри него запуск процесса происходит, а сам процесс отрабатывает так как будто ему чего-то не хватает, он часть действий выполняет, а часть пропускает(просто к ним не прикасается, допустим при переходе по DCM не создаются активности на следующем шаге).
Помогите разобраться в чем загвоздка может быть.
Вот код вызова процесса из сервиса:
#region Class : NameService
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class NameService
{
#region Properties : Protected
protected UserConnection UserConnection
{
get
{
return _userConnection ??
((Func)
(() =>
{
AppConnection app = HttpContext.Current.Application["AppConnection"] as AppConnection;
_userConnection = app.SystemUserConnection;
return _userConnection;
}))();
}
set => _userConnection = value;
}
........
#endregion
#region Methods : Public
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
public BaseResponse MethodService(NameRequestModel requestModel)
{
try
{
var response = NameServiceFactory.NameClassWrapper(UserConnection)
.Execute(requestModel);
...........
}
#endregion
}
#endregion
-------------------------------------------------------------------------------------------------------------------------
#region Class : NameClassWrapper
public class NameClassWrapper: IBaseNameIntegrationWrapper
{
#region Properties : Protected
....
protected UserConnection UserConnection { get; }
#endregion
#region Constructor
public NameClassWrapper(UserConnection userConnection)
{
this.UserConnection = userConnection;
}
#endregion
#region Methods : Protected
........
protected virtual void ExecuteNameProcess(Guid caseId){
ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("NameProcess");
bool canUseFlowEngine = ProcessSchemaManager.GetCanUseFlowEngine(UserConnection, schema);
if (canUseFlowEngine)
{
var flowEngine = new FlowEngine(UserConnection);
var param = new Dictionary ();
param["CaseId"] = caseId.ToString();
flowEngine.RunProcess(schema, param);
}
else
{
Process process = schema.CreateProcess(UserConnection);
process.SetPropertyValue("CaseId", caseId);
process.Execute(UserConnection);
}
}
......
#endregion
}
#endregion
----------------------------------------------------------------------------------------------------------------------