我想使用类似 REST 的 API 启动一个新的流程实例。
根据jBPM Documentnation(7.5.0.Final(,可以使用Javascript API来启动带有表单的新流程实例。
我能够设置一个简单的 html 页面来调用jBPMFormsAPI
<head>
<script src="js/jbpm-forms-rest-integration.js"></script>
<script>
var formsAPI = new jBPMFormsAPI();
</script>
<script>
function showProcessForm() {
formsAPI.showStartProcessForm(
"http://localhost:8080/jbpm-console/",
"test-project_1.0.0",
"test-project.SampleProcess",
"myform"
);
}
</script>
</head>
<body>
<input type="button" id="showformButton"
value="Show Process Form" onclick="showProcessForm()">
<p/>
<div id="myform"></div>
</body>
但是,当我按下Show Process Form
按钮时,我有404 Not Found
-Chrome 开发者工具 - 网络标签包含 REST 调用:
http://localhost:8080/jbpm-console/rest/runtime/myproject_1.0/process/myprocess/startform
是 REST API 已更改,文档不是最新的还是我做错了什么?
我知道什么可能会有所帮助。在同一环境中,KIE执行服务器具有Swagger文档:
http://localhost:8080/kie-server/docs/
KIE Workbench是否有相同的文档或如何启用它?
我想,它应该有类似的 URL,但我也有 URL 的404
:
http://localhost:8080/jbmp-console/docs/
我最初的猜测是正确的 - jBPM 文档在 7.5.0.Final 中已经过时,从工作台启动进程的端点实际上是 jBPM 6.x 方式,即
http://localhost:8080/jbpm-console/rest/runtime/myproject_1.0/process/myprocess/startform
不再有效的启动进程的请求。
作为证明,现在看看实际的文档。第 14. Forms
章在 7.5.0.Final 中,但在 7.7.0.Final 中被完全删除(不再有关于js/jbpm-forms-rest-integration.js
的章节(。
启动进程的实际方法是调用 KIE Server REST API:
http://localhost:8081/kie-server/docs/
例如,我使用以下 curl
命令使用名为 document
的 sinble 字段启动进程:
curl -X POST
http://localhost:8081/kie-server/services/rest/server/containers/myproject_1.0/processes/process.main/instances
-H 'Cache-Control: no-cache'
-H 'Content-Type: application/json'
-d '{
"document": {
"DocumentImpl": {
"name": "document.zip",
"lastModified": "2018-03-28T07:55:06.922Z",
"size": "12",
"content": "UEsDBAoAAAAAAOh+fUwNuzSlFgAAABYAAAAIABwAZmlsZS50eHRVVAkAA/OpvFrzqbxadXgLAAEE6AMAAAToAwAAVGhpcyBpcyBvbmx5IGEgdGVzdC4KClBLAQIeAwoAAAAAAOh+fUwNuzSlFgAAABYAAAAIABgAAAAAAAEAAACkgQAAAABmaWxlLnR4dFVUBQAD86m8WnV4CwABBOgDAAAE6AMAAFBLBQYAAAAAAQABAE4AAABYAAAAAAA="
}
}
}'