第 25 章 为 KIE 服务器模板和实例处理自动化管理器控制器 REST API
Red Hat Process Automation Manager 提供了一个 Process Automation Manager 控制器 REST API,可用于与 KIE 服务器模板(配置)、KIE 服务器实例(远程服务器)以及 Red Hat Process Automation Manager 中的关联 KIE 容器(部署单元)交互,而无需使用 Business Central 用户界面。通过这个 API 支持,您可以更有效地维护 Red Hat Process Automation Manager 服务器和资源,并使用 Red Hat Process Automation Manager 优化集成和开发。
使用 Process Automation Manager 控制器 REST API,您可以执行以下操作:
- 检索 KIE Server 模板、实例和相关 KIE 容器的信息
- 更新、启动或停止与 KIE Server 模板和实例关联的 KIE 容器
- 创建、更新或删除 KIE 服务器模板
- 创建、更新或删除 KIE 服务器实例
对 Process Automation Manager 控制器 REST API 的请求需要以下组件:
- 身份验证
Process Automation Manager 控制器 REST API 需要以下用户角色的 HTTP 基本身份验证或基于令牌的身份验证,具体取决于控制器类型:
-
如果您安装了 Business Central 且希望使用内置 Process Automation Manager 控制器,则 REST
-all用户角色 -
如果您独立于 Business Central 安装无头 Process Automation Manager 控制器,则
kie-server用户角色
要查看 Red Hat Process Automation Manager 发行版配置的用户角色,请导航到
~/$SERVER_HOME/standalone/configuration/application-roles.properties和~/application-users.properties。要添加具有
kie-server角色或rest-all角色或两者的用户,请导航到~/$SERVER_HOME/bin,并使用指定的角色运行以下命令:./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server,rest-all
$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server,rest-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置带有 Process Automation Manager 控制器访问权限的
kie-server或rest-all用户,请导航到~/$SERVER_HOME/standalone/configuration/standalone-full.xml,取消注释org.kie.server属性(如果适用),并添加控制器用户登录凭证和控制器位置(如果需要):<property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"/> <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"/> <property name="org.kie.server.controller.user" value="baAdmin"/> <property name="org.kie.server.controller.pwd" value="password@1"/> <property name="org.kie.server.id" value="default-kieserver"/>
<property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"/> <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"/> <property name="org.kie.server.controller.user" value="baAdmin"/> <property name="org.kie.server.controller.pwd" value="password@1"/> <property name="org.kie.server.id" value="default-kieserver"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关用户角色和 Red Hat Process Automation Manager 安装选项的更多信息,请参阅 规划 Red Hat Process Automation Manager 安装。
-
如果您安装了 Business Central 且希望使用内置 Process Automation Manager 控制器,则 REST
- HTTP 标头
Process Automation Manager 控制器 REST API 需要以下 HTTP 标头用于 API 请求:
接受:您请求的客户端接受的数据格式:-
application/json(JSON) -
application/xml(用于 JAXB 的XML)
-
Content-Type:POST或PUTAPI 请求数据的数据格式:-
application/json(JSON) -
application/xml(用于 JAXB 的XML)
-
- HTTP 方法
Process Automation Manager 控制器 REST API 支持以下 API 请求的方法:
-
GET:从指定的资源端点检索指定的信息 -
POST:更新资源或资源实例 -
PUT:创建资源或资源实例 -
DELETE:删除资源或资源实例
-
- 基本 URL
-
Process Automation Manager 控制器 REST API 请求的基本 URL 是
http://SERVER:PORT/CONTROLLER/rest/,例如,如果您使用内置于 Business Central 的 Process Automation Manager,则为http://localhost:8080/business-central/rest/。 - Endpoints
处理 Automation Manager 控制器 REST API 端点(如指定 KIE Server 模板的
/controller/management/servers/{serverTemplateId})是您附加到 Process Automation Manager 控制器 REST API 基本 URL 中的 URI,以访问 Red Hat Process Automation Manager 中的对应服务器资源或服务器资源类型。/controller/management/servers/{serverTemplateId}端点的请求 URL 示例http://localhost:8080/business-central/rest/controller/management/servers/default-kieserver- 请求参数和请求数据
有些流程自动化管理器控制器 REST API 请求需要请求 URL 路径中的特定参数来识别或过滤特定资源并执行特定操作。您可以将 URL 参数附加到端点,格式为
?<PARAM>=<VALUE>&<PARAM>=<VALUE>。带有参数的 DELETE 请求 URL 示例
http://localhost:8080/business-central/rest/controller/server/new-kieserver-instance?location=http://localhost:8080/kie-server/services/rest/serverHTTP
POST和PUT请求可能还需要请求正文或带有数据的文件来附带请求。PUT 请求 URL 和 JSON 请求正文数据示例
http://localhost:8080/business-central/rest/controller/management/servers/new-kieserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Process Automation Manager 控制器 REST API 可让您在不使用 Business Central 用户界面的情况下与 KIE 服务器模板(配置)、KIE 服务器实例(远程服务器)和相关 KIE 容器(部署单元)交互。您可以使用任何 REST 客户端或 curl 工具发送 Process Automation Manager 控制器 REST API 请求。
先决条件
- KIE 服务器已安装并运行。
- Process Automation Manager 控制器或无头 Process Automation Manager 控制器已安装并运行。
-
如果您安装了 Business Central,或
kie-server用户角色可以访问与 Business Central 单独安装的无头 Process Automation Manager 控制器,则您具有对 Process Automation Manager 控制器的rest-all用户角色访问。
流程
-
识别您要发送请求的相关 API 端点,如
[GET] /controller/management/servers,以从 Process Automation Manager 控制器检索 KIE Server 模板。 在 REST 客户端或 curl 工具中,为对
controller/management/servers的GET请求输入以下组件。根据您的用例调整任何请求详情。对于 REST 客户端:
-
身份验证 :使用
rest-all角色或无头 Process Automation Manager 控制器用户输入 Process Automation Manager 控制器用户的用户名和密码,并带有kie-server角色。 HTTP 标头 :设置以下标头:
-
接受:application/json
-
-
HTTP 方法 :设置为
GET。 -
URL :输入 Process Automation Manager 控制器 REST API 基本 URL 和端点,如
http://localhost:8080/business-central/rest/controller/management/servers。
对于 curl 工具:
-
-u:使用rest-all角色或无头 Process Automation Manager 控制器用户输入 Process Automation Manager 控制器用户的用户名和密码,并带有kie-server角色。 -h: 设置以下标头:-
接受:application/json
-
-
-x: 设置为GET。 -
URL :输入 Process Automation Manager 控制器 REST API 基本 URL 和端点,如
http://localhost:8080/business-central/rest/controller/management/servers。
curl -u 'baAdmin:password@1' -H "Accept: application/json" -X GET "http://localhost:8080/business-central/rest/controller/management/servers"
curl -u 'baAdmin:password@1' -H "Accept: application/json" -X GET "http://localhost:8080/business-central/rest/controller/management/servers"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
身份验证 :使用
执行请求并查看 Process Automation Manager 控制器响应。
服务器响应示例(JSON):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 REST 客户端或 curl 实用程序中,发送带有以下组件的 API 请求,它向
/controller/management/servers/{serverTemplateId}发送一个PUT请求,以创建新的 KIE Server 模板。根据您的用例调整任何请求详情。对于 REST 客户端:
-
身份验证 :使用
rest-all角色或无头 Process Automation Manager 控制器用户输入 Process Automation Manager 控制器用户的用户名和密码,并带有kie-server角色。 HTTP 标头 :设置以下标头:
-
接受:application/json -
content-Type:application/json
-
-
HTTP 方法 :设置为
PUT。 -
URL :输入 Process Automation Manager 控制器 REST API 基本 URL 和端点,如
http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver。 - Request body :使用新 KIE Server 模板的配置添加 JSON 请求正文:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 curl 工具:
-
-u:使用rest-all角色或无头 Process Automation Manager 控制器用户输入 Process Automation Manager 控制器用户的用户名和密码,并带有kie-server角色。 -h :设置以下标头:-
接受:application/json -
content-Type:application/json
-
-
-x:设置为PUT。 -
URL :输入 Process Automation Manager 控制器 REST API 基本 URL 和端点,如
http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver。 -
-d:使用新 KIE Server 模板的配置添加 JSON 请求正文或文件(@file.json):
curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X PUT "http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver" -d "{ \"server-id\": \"new-kieserver\", \"server-name\": \"new-kieserver\", \"container-specs\": [], \"server-config\": {}, \"capabilities\": [ \"RULE\", \"PROCESS\", \"PLANNING\" ]}"curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X PUT "http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver" -d "{ \"server-id\": \"new-kieserver\", \"server-name\": \"new-kieserver\", \"container-specs\": [], \"server-config\": {}, \"capabilities\": [ \"RULE\", \"PROCESS\", \"PLANNING\" ]}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X PUT "http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver" -d @my-server-template-configs.json
curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X PUT "http://localhost:8080/business-central/rest/controller/management/servers/new-kieserver" -d @my-server-template-configs.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
身份验证 :使用
执行请求,并确认过程自动化管理器控制器响应成功。
如果您遇到请求错误,请查看返回的错误代码信息并相应地调整您的请求。