我需要
在没有BluePrism客户端的机器上运行的Java应用程序中。
我知道使用SOAP调用启动进程是可能的。
如何才能找到已启动的进程是否已完成以及是否成功完成?
我的一位同事说,通过在SOAP请求中传递一个特殊参数,可以从BluePrism获得通知,但我在Web服务用户指南中找不到任何东西。
更新1:一种解决方案是调整本软件,以便通过REST公开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:附加信息可在BluePrism社区中获得。
发布于 2020-05-20 13:46:47
如果您将所讨论的流程公开为web服务(System ->处理->公开)并以这种方式调用它,则在进程完成运行之前不会返回SOAP响应。您的Java代码可以简单地等待从端点返回响应,以确保您调用的进程已经完成。
虽然我似乎无法找到有关此行为的任何正式文档,但这与预期的设计是一致的,以便能够从被调用的流程/对象返回到SOAP调用方的输出值。(如果请求在进程完成执行之前解析,则不可能知道输出值。)
https://stackoverflow.com/questions/61911583
复制相似问题