Как узнать, завершена ли конкретная BluePrism на Java?

Мне необходимо

  1. запустить процесс BluePrism и
  2. подождите, пока он не завершится

в приложении Java, которое работает на машине без клиента BluePrism.

Я знаю, что можно запустить процесс с помощью вызова SOAP.

Как узнать, завершен ли начатый процесс и успешно ли он завершился?

Мой коллега сказал, что можно получить уведомление от BluePrism, передав специальный параметр в запросе SOAP, но я не смог найти ничего по этому поводу в Руководство пользователя веб-служб.

Обновление 1. Одним из решений является адаптация этого программного обеспечения, чтобы он открывал очереди BluePrism через REST API.

Обновление 2: Эта страница предлагает выполнить запрос к базе данных BluePrism, как показано ниже.

SELECT
    [BPAProcess].[name],
    [BPAProcess].[description],
    [BPASession].[sessionid],
    [BPASession].[startdatetime],
    [BPASession].[enddatetime],
    [BPASession].[statusid],
    [BPAStatus].[description]
FROM [BPAProcess]
JOIN [BPASession] ON
    [BPASession].[processid] = [BPAProcess].[processid]
JOIN [BPAStatus] ON
    [BPASession].[statusid] = [BPAStatus].[statusid]
WHERE [BPAStatus].[description] IN ('Completed', 'Stopped', 'Terminated')
    AND [BPASession].[sessionid] = 'Your session id'

Обновление 3: версия BluePrism - 6.4.2.

Обновление 4: Дополнительная информация доступна в .


person Mentiflectax    schedule 20.05.2020    source источник
comment
Я не знаю BluePrism, поэтому следующий совет является довольно общим: в руководстве пользователя, которое вы связали, не очень много говорится о том, что предоставляют веб-сервисы. Вам, вероятно, придется взглянуть на wsdls и проверить, есть ли служба для опроса состояния процесса или передачи обратного вызова при запуске. В качестве альтернативы может быть некоторая опция конфигурации для определения URL-адресов обратного вызова, которые сервер будет вызывать при таких событиях, как изменение статуса.   -  person Thomas    schedule 20.05.2020
comment
Какую версию Blue Prism вы используете? Связанное вами руководство устарело.   -  person esqew    schedule 20.05.2020
comment
@esqew Версия BluePrism - 6.4.2.   -  person Mentiflectax    schedule 20.05.2020
comment
В последняя версия Руководства по веб-службам Blue Prism, вам действительно стоит упомянуть об этом в будущем.   -  person esqew    schedule 20.05.2020


Ответы (1)


Если вы раскрываете рассматриваемый процесс как веб-службу (Система -> Процессы -> Выставление) и вызываете его таким образом, ответ SOAP не будет возвращен до тех пор, пока процесс не завершится. Ваш Java-код может просто дождаться ответа от конечной точки, чтобы убедиться, что вызванный вами процесс завершился.

Хотя я не могу найти какой-либо формальной документации этого поведения, это согласуется с предполагаемым дизайном, позволяющим возвращать выходные значения из вызываемого процесса / объекта обратно вызывающей стороне SOAP. (Выходные значения не могут быть известны, если запрос разрешается до завершения выполнения процесса.)

person esqew    schedule 20.05.2020