如何确定某个特定的 BluePrism 是否已在 Java 内完成?
How to find out whether a particular BluePrism has completed or not in Java?
我需要
- 启动 BluePrism 进程并
- 等到它完成
在没有 BluePrism 客户端的机器上运行的 Java 应用程序中。
我知道可以使用 SOAP 调用启动进程。
如何查看启动的进程是否完成以及是否成功完成?
我的一位同事说,可以通过在 SOAP 请求中传递一个特殊参数来从 BluePrism 获得通知,但我在 Web Services User Guide.[=16= 中找不到任何相关信息]
更新 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'
更新3:BluePrism版本为6.4.2。
更新 4: BluePrism community.
中提供了更多信息
如果您将有问题的流程公开为 Web 服务(系统 -> 流程 -> 公开)并以这种方式调用它,SOAP 响应将不会 returned 直到流程完成 运行。您的 Java 代码可以简单地等待来自端点的响应 returned 以确保您调用的过程已经完成。
虽然我似乎无法找到有关此行为的任何正式文档,但这符合预期的设计以启用 process/object 的输出值 return 被调用回 SOAP呼叫者。 (如果请求在进程完成执行之前解决,则不可能知道输出值。)
我需要
- 启动 BluePrism 进程并
- 等到它完成
在没有 BluePrism 客户端的机器上运行的 Java 应用程序中。
我知道可以使用 SOAP 调用启动进程。
如何查看启动的进程是否完成以及是否成功完成?
我的一位同事说,可以通过在 SOAP 请求中传递一个特殊参数来从 BluePrism 获得通知,但我在 Web Services User Guide.[=16= 中找不到任何相关信息]
更新 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'
更新3:BluePrism版本为6.4.2。
更新 4: BluePrism community.
中提供了更多信息如果您将有问题的流程公开为 Web 服务(系统 -> 流程 -> 公开)并以这种方式调用它,SOAP 响应将不会 returned 直到流程完成 运行。您的 Java 代码可以简单地等待来自端点的响应 returned 以确保您调用的过程已经完成。
虽然我似乎无法找到有关此行为的任何正式文档,但这符合预期的设计以启用 process/object 的输出值 return 被调用回 SOAP呼叫者。 (如果请求在进程完成执行之前解决,则不可能知道输出值。)