OpenMonitoringWSResult OpenMonitoringWS(BpmProcessId tObject, OpenMonitoringWSArg tArg)
tObject. Моникёр открытого процесса.
tArg. Параметры выполнения операции.
Операция OpenMonitoringWS получает URL-адрес, с помощью которого может быть открыто WebSocket-соединение для мониторинга выполнения процесса.
Для выполнения операции укажите в поле tObject моникёр открытого процесса. Моникёр может быть получен при выполнении операции OpenBpmProcess. В поле tArg.key укажите уникальный ключ экземпляра выполняемого процесса. Ключ доступен в коллекции list результата выполнения операции GetProcessInstances. В поле tArg.giud укажите GUID структуры выполняемого экземпляра процесса, который доступен в поле instId результата операции GetBpmMonitoringWorkspace.
Результатом выполнения операции будет URL-адрес, который в дальнейшем может использоваться для организации постоянного соединения между браузером и BI-сервером с помощью протокола WebSocket. Формат адреса, который необходимо передать в конструктор WebSocket: «ws://адрес BI-сервера[:порт]/service?id=» + полученный URL-адрес.
Ниже приведён пример получения URL-адреса для открытия WebSocket-соединения. В запросе передаётся моникёр открытого процесса, ключ экземпляра процесса и GUID структуры процесса. В ответе будет получен URL-адрес.
{
"OpenMonitoringWS" :
{
"tObject" :
{
"id" : "MGJFJPPOBBDDGOAECMABJPKINDGPEBIEBLJDEKDGIANBKOGK!M!S!BPIMOEODAPBBDDGOAEDHLCADLCMDDIJDCEGJPKIJEBEEOLAHIL"
},
"tArg" :
{
"key" : "98037",
"guid" : "{99654793-F719-4107-AD36-F1060FCD62F5}"
}
}
}
{
"OpenMonitoringWSResult" :
{
"url" : "BPMMONID!{6386DAFD-2FB5-4E14-B5A2-569F41AD14A8}"
}
}
public static OpenMonitoringWSResult OpenMonitoringWS(string moniker, int instanceKey, string instanceWSGUID)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new OpenMonitoringWS()
{
tObject = new BpmProcessId() { id = moniker },
tArg = new OpenMonitoringWSArg()
{
key = instanceKey,
guid = instanceWSGUID
}
};
// Получение URL-адрес страницы мониторинга
var result = somClient.OpenMonitoringWS(tGet);
return result;
}
См. также: