如何确定特定的BluePrism是否已在Java中完成?

如何确定特定的BluePrism是否已在Java中完成?,java,blueprism,rpa,Java,Blueprism,Rpa,我需要 启动BluePrism进程并 等待它完成 在没有BluePrism客户端的机器上运行的Java应用程序中 我知道使用SOAP调用启动进程是可能的 如何确定启动的流程是否已完成以及是否已成功完成 我的一位同事说,通过在SOAP请求中传递一个特殊参数,可以从BluePrism获得通知,但我在中找不到任何关于此的信息 更新1:一种解决方案是进行调整,以便通过RESTAPI公开BluePrism队列 更新2:建议对BluePrism数据库运行如下查询 SELECT [BPAProcess

我需要

启动BluePrism进程并 等待它完成 在没有BluePrism客户端的机器上运行的Java应用程序中

我知道使用SOAP调用启动进程是可能的

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

我的一位同事说,通过在SOAP请求中传递一个特殊参数,可以从BluePrism获得通知,但我在中找不到任何关于此的信息

更新1:一种解决方案是进行调整,以便通过RESTAPI公开BluePrism队列

更新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:附加信息可在中找到。

如果您以web服务系统->流程->公开的方式公开所讨论的流程,并以这种方式调用它,则在该流程完成运行之前,不会返回SOAP响应。Java代码可以简单地等待端点返回响应,以确保调用的过程已完成


虽然我似乎找不到关于这种行为的任何正式文档,但这与预期的设计是一致的,即允许将被调用的进程/对象的输出值返回给SOAP调用方。如果请求在流程完成执行之前得到解决,则无法知道输出值。

我不知道BluePrism,因此下面是一个相当一般的建议:您链接的用户指南没有详细说明Web服务提供了什么。您可能需要查看wsdl,并检查是否有服务可以轮询进程的状态,或者在启动进程时传递回调。或者,也可能有一些配置选项来定义回调URL,服务器将在诸如状态更改之类的事件中调用这些URL。您正在运行哪个版本的Blue Prism?您链接的指南已经过时了。@esqew BluePrism版本是6.4.2。中有一些实质性的更改,您真的应该参考以后的版本。