我们正在为我们的一个新项目探索Drools BPM。我基本上是.Net背景,没有太多的java技术知识。
我们的期望是,我们应该能够使用Drools创建规则和工作流,以便可以将其公开为REST API,然后使用该REST从.net/angular客户端应用程序执行规则。
我已经使用WildFly10服务器配置了KIE服务器。似乎我的所有配置都工作正常,但当我尝试连接到控制器("http://localhost:8080/kie-wb/rest/controller")时,它给出了以下错误信息。
Error Message :
2018-01-22 12:30:09,263 INFO [org.kie.server.controller.websocket.client.WebSocketKieServerControllerImpl] (KieServer-ControllerConnect) Kie Server points to non Web Socket controller 'http://localhost:8080/kie-wb/rest/controller', using default REST mechanism
2018-01-22 12:30:09,263 WARN [org.kie.server.common.KeyStoreHelperUtil] (KieServer-ControllerConnect) Unable to load key store. Using password from configuration
2018-01-22 12:30:09,274 WARN [org.kie.server.services.impl.controller.DefaultRestControllerImpl] (KieServer-ControllerConnect) Exception encountered while syncing with controller at http://localhost:8080/kie-wb/rest/controller/server/wildfly-kieserver error Error while sending PUT request to http://localhost:8080/kie-wb/rest/controller/server/wildfly-kieserver response code 405下面的URL运行正常
http://localhost:8080/kie-wb
http://localhost:8080/kie-server/services/rest/server/
http://localhost:8080/kie-wb/rest/controller/management/servers
发布于 2018-07-21 03:54:42
我能够让工作台和kie服务器在同一个web和/或app服务器上工作,这是在互联网上大量出现的各种例子。但是,在设置一个更实际的生产就绪环境时,我遇到了这个特定的错误,该环境使用在不同端口上运行的同一主机上的单独应用程序服务器。问题是,只有当工作台和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
与远程Kie服务器控制器的连接仅支持
Web Socket协议。当指定此比例时,工作台将自动禁用与运行嵌入式控制器相关的所有功能。
读完这篇文章后,405就明白了(不允许使用该方法)。我将URL从
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)。
编辑:
在更多地摆弄它并阅读了更多文档之后,参考文档引用的是连接到外部控制器的工作台,而不是在工作台内配置控制器。
发布于 2021-05-14 16:18:50
在经历了许多磨难之后,通过向Business Central Workbench添加角色"kieserver=kie-server,rest-all"和用户"kieserver",我的问题得到了解决。
在没有这些数据的情况下,我一直收到405。
https://stackoverflow.com/questions/48377746
复制相似问题