当前位置: 首页 > 知识库问答 >
问题:

在camunda上使用PHP SDK服务任务

长孙修远
2023-03-14

我开始用camunda开发我的流程,我有一个简单的问题要问如何远程管理不同类型的任务。首先,让我解释一下我的场景:

我有两个主要的小组:会计师和客户。客户只看到他们自己的仪表板,内置在我的系统和会计有所有的信息,客户在他们的系统,其中有一个简单的任务列表。现在,我不想为用户提供另一个界面。

一旦我的场景被解释,让我们回到我的问题:

使用camunda,我可以收集实际的任务,如果这是一个用户任务,创建变量,设置值,将任务分配给特定的用户,解决它们,一切听起来都很好。

当我需要使用服务任务时,我必须采取相反的方式:camunda应用程序需要向我的应用程序发送一个请求,其中包含一些要执行的REST或SOAP命令。

当我使用零代码BPMS并需要在应用程序中自动执行某些东西时,我理解这种方法,但是一旦这个应用程序是我的并集成到BPMS中,我就不明白为什么我不能管理服务任务而不是BPMS了。

我想知道这种双向是否真的有必要,一旦我已经在我的应用程序中,将用户请求发送到Camunda。我想知道如果不是更好的控制服务任务通过PHP SDK太。

我愿意开发一些东西,但我想听听你的意见,如果这是可行的或不可行,为什么之前。

共有1个答案

公英哲
2023-03-14

实际上,也没有办法通过PHP SDK来控制服务任务。我们的服务任务是用java编写的,只能从引擎内部控制。如果希望使用与用户任务相同的方式,则需要组合使用中间消息catch事件和deliverMessage服务,如下所示:

$camundaAPI = new \org\camunda\php\sdk\Api('http://localhost:8080/engine-rest');
$request = new \org\camunda\php\sdk\entity\request\MessageRequest();
$camundaAPI->message->deliverMessage($yourRequest);

服务参数可以在PHP SDK项目的api文档中找到(请参见org\camunda\PHP\SDK\entity\request\messageRequest)或在camunda BPM REST api文档中找到(这里)

 类似资料:
  • 据我所知,Camunda提供了两种将Java代码与服务任务集成的方法: 1.)声明一个实现JavaDelegate接口的Spring-Bean(该方法将一个DelegateExecution作为参数)。这个方法允许我存储任意多个结果变量,但我看不到定义映射process-variable->input-variable的选项。 2.)声明一个通用的Spring bean可由camunda访问,并定

  • 我在Camunda有一些复杂的过程,在所有这些过程的最后都有一个接收任务。在接收任务中,我们显示了流程变量的摘要。问题是接收任务是可选的,它不是用户的强制任务,所以用户可以在没有完成接收任务的情况下退出进程。在这种情况下,流程实例的状态保持在活动状态,这会导致我们的报告出现一个糟糕的视图。 我们的目标有什么解决方案吗? 我展示了一个示例进程,它具有我们所有进程的格式。第一步是用户必须完成的数据输入

  • 首先,我是卡蒙达的新手。。我在camunda中创建了一个自定义任务列表。我可以申请/取消申请任务等,这是可行的。 现在我想完成一项任务,但是当我打电话的时候: 似乎camunda希望在此上下文中进入下一步,而不是部署BPMN模式以及部署执行下一步所需的一切的上下文。所以我得到了“classNotFound”异常,因为我的customTasklist中没有相同的类。战争就像卡蒙达处理器一样。战争 我

  • 我正在使用一个发送任务,下面的Javadelegate类附加到该任务。

  • 我们在审批流应用程序中使用Camunda。根据以下来自Camunda的文档,我们可以创建任务并将其分配给用户。 我想知道我们是否可以将任务分配给一个组而不是单个用户 请求参数-我尝试使用但没有成功。

  • 在我们公司,我们将使用Camunda工作流引擎进行过程自动化。目前,我们正试图定义一个合理的工作流,它反映了我们的业务流程。我们并不真正知道如何建模(然后实现)以下场景: 服务任务1创建一个对象,该对象可由用户任务中的用户使用。用户(基于在服务任务1中创建的对象的状态和他的权限)选择要在该对象上执行的下一个操作。 E.Q。我们有用户A和用户B。用户A可以编辑对象,创建报告,检查它,将它转发给另一个