如何用Java查找特定的BluePrism是否已完成?

问题描述 投票:0回答:1

我需要

  1. 启动BluePrism进程,然后
  2. 等待完成

在没有BluePrism客户端的计算机上运行的Java应用程序中。

我知道可以使用SOAP调用来启动进程。

如何确定启动的过程是否已完成以及是否成功完成?

[我的一位同事说,可以通过在SOAP请求中传递一个特殊参数来从BluePrism获得通知,但是我在Web Services User Guide中找不到任何相关内容。

Update 1:一种解决方案是改编this software,以便它通过REST API公开BluePrism队列。

更新2: This page建议针对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'

Update 3: BluePrism版本是6.4.2。

java blueprism rpa
1个回答
0
投票

如果您将有问题的进程公开为Web服务(系统->进程->公开)并以这种方式调用它,则在该进程完成运行之前,不会返回SOAP请求。

虽然我似乎找不到此行为的任何正式文档,但这与功能的设计保持一致,以使输出值可以从被调用的过程/对象返回给SOAP调用者。 (如果在过程完成执行之前请求已解决,则可能无法知道输出值。)

© www.soinside.com 2019 - 2024. All rights reserved.