我们正在为我们的一个新项目探索Drools BPM。我基本上来自.Net背景,并且对java技术人员没有太多的了解。
我们的期望是我们应该能够使用Drools创建规则和工作流,以便它可以作为REST API公开,然后使用此REST从.net / angular客户端应用程序执行规则。
我已使用WildFly10服务器配置了KIE服务器。似乎我的所有配置都运行正常,但是当我尝试连接到控制器时(" http://localhost:8080/kie-wb/rest/controller")它会给出以下错误消息。
stop at
http://localhost:8080/kie-server/services/rest/server/
http://localhost:8080/kie-wb/rest/controller/management/servers
答案 0 :(得分:0)
按照Internet上激增的各种示例,我能够使Workbench和Kie服务器在同一台Web和/或应用服务器上工作。但是,在使用运行在不同端口上的同一主机上的单独应用程序服务器设置为更实际的生产就绪环境时,我遇到了此特定错误。问题是,仅当工作台和kie服务器都在同一应用程序或Web服务器上运行时,才支持REST版本的URL。在单独的应用程序或Web服务器上时,它必须使用Web套接字(请参阅文档org.kie.workbench.controller属性):
http://docs.jboss.org/drools/release/7.8.0.Final/drools-docs/html_single/#_wb.systemproperties
仅支持Web套接字协议与远程Kie Server Controller连接。指定此比例时,Workbench将自动禁用与运行嵌入式控制器有关的所有功能。
阅读此内容后,405才有意义(不允许使用该方法)。我将网址更改为
http://ACTUAL_HOST_NAME:8080/kie-drools-wb/rest/controller
到
ws://ACTUAL_HOST_NAME:8080/kie-drools-wb/websocket/controller
这解决了405。
此外,我最初使用的是'localhost'作为实际的主机名,但是它仍然无法连接,因此我将其更改为实际的主机名。最后,我仍然看到连接问题,然后发现两个服务器都需要
-Dorg.kie.workbench.controller.user=kieserver
-Dorg.kie.workbench.controller.pwd=kieserver1!
-Dorg.kie.server.user=kieserver
-Dorg.kie.server.pwd=kieserver1!
要在两台服务器上都进行设置(请参见https://groups.google.com/d/msg/drools-setup/Bpt-r_bIa2U/g0H1J77sBgAJ和https://groups.google.com/d/msg/drools-setup/Aru_F98nL9g/Z6vUCm6hBQAJ)。
编辑:
经过更多的摆弄并进一步阅读了文档,引用的文档指的是将工作台连接到外部控制器,而不是在工作台中配置控制器。
答案 1 :(得分:0)
经过一番折腾,我的问题通过向 Business Central Workbench 添加角色 "kieserver=kie-server,rest-all"
和用户 "kieserver"
解决了。
没有这些数据,我一直收到405
。