JBPM创建的案例和任务不可见或不可访问

问题描述

我已经成功地将Keycloak集成到JBPM中以进行用户管理,并且可以使用keycloak登录到业务中心和案例管理中。我还使用密钥斗篷凭据成功配置了kie-server,并且可以在运行的示例服务器kie-server上部署IT订单示例应用程序的精简版本。当我执行GET / kie-server / services / rest / server / containers时,我可以看到我的容器itorders_1.0.0-SNAPSHOT已在业务中心启动并运行,当我调用GET / kie-server / services / rest / server时/ containers,其输出如下所示

{
  "type": "SUCCESS","msg": "List of created containers","result": {
    "kie-containers": {
      "kie-container": [
        {
          "container-id": "itorders_1.0.0-SNAPSHOT","release-id": {
            "group-id": "itorders","artifact-id": "itorders","version": "1.0.0-SNAPSHOT"
          },"resolved-release-id": {
            "group-id": "itorders","status": "STARTED","scanner": {
            "status": "disPOSED","poll-interval": null
          },"config-items": [
            {
              "itemName": "KBase","itemValue": "","itemType": "BPM"
            },{
              "itemName": "KSession",{
              "itemName": "MergeMode","itemValue": "MERGE_COLLECTIONS",{
              "itemName": "RuntimeStrategy","itemValue": "PER_CASE","itemType": "BPM"
            }
          ],"messages": [
            {
              "severity": "INFO","timestamp": {
                "java.util.Date": 1598900747932
              },"content": [
                "Release id successfully updated for container itorders_1.0.0-SNAPSHOT"
              ]
            }
          ],"container-alias": "itorders"
        }
      ]
    }
  }
}

我可以使用GET / kie-server / services / rest / server / queries / cases获得案例定义

{
  "deFinitions": [
    {
      "name": "Order for IT hardware","id": "itorders.orderhardware","version": "1.0","case-id-prefix": "IT","container-id": "itorders_1.0.0-SNAPSHOT","adhoc-fragments": [
        {
          "name": "Prepare hardware spec","type": "HumanTaskNode"
        }
      ],"roles": {
        "owner": 1
      },"milestones": [],"stages": []
    }
  ]
}

然后我可以执行POST /kie-server/services/rest/server/containers/itorders_1.0.0-SNAPSHOT/cases/itorders.orderhardware/instances来正确返回创建的案例的案例ID,例如IT-0000000014。呼叫返回http状态码201

但是,当我执行GET / kie-server / services / rest / server / queries / case / instances时,没有返回以下实例

{
  "instances": []
}

当我在“ JBPM案例管理”展示柜中创建案例时,我得到绿色提示,表明该案例已成功创建,但是即使刷新屏幕,网格中也没有打开的案例。

我可以在流程实例视图中看到与案例关联的流程实例,其中包括显示“准备硬件规格”处于活动状态和当前活动的图表。但是,查看与流程关联的任务不会显示任何任务。同样,我希望获得该用户的任务的收件箱声称该任务也为空。

请注意,我在Keycloak中使用基于令牌的身份验证,并使用邮递员执行了上述剩余调用

为什么不能查看我创建的案例实例?为什么我不能查看与流程实例关联的任务?

解决方法

使用此查询 GET /kie-server/services/rest/server/queries/cases/instances,您只能看到您的用户设置为潜在的实例。确保将令牌中使用的用户设置为潜在所有者。