首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drools控制器URL响应错误代码405

Drools控制器URL响应错误代码405
EN

Stack Overflow用户
提问于 2018-01-22 16:55:25
回答 2查看 3.4K关注 0票数 3

我们正在为我们的一个新项目探索Drools BPM。我基本上是.Net背景,没有太多的java技术知识。

我们的期望是,我们应该能够使用Drools创建规则和工作流,以便可以将其公开为REST API,然后使用该REST从.net/angular客户端应用程序执行规则。

我已经使用WildFly10服务器配置了KIE服务器。似乎我的所有配置都工作正常,但当我尝试连接到控制器("http://localhost:8080/kie-wb/rest/controller")时,它给出了以下错误信息。

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

发布于 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从

代码语言:javascript
复制
http://ACTUAL_HOST_NAME:8080/kie-drools-wb/rest/controller

代码语言:javascript
复制
ws://ACTUAL_HOST_NAME:8080/kie-drools-wb/websocket/controller

这解决了405的问题。

另外,我最初使用'localhost‘作为实际的主机名,但它仍然无法连接,所以我将其更改为实际的主机名。最后,我仍然看到一个连接问题,然后发现两台服务器都需要

代码语言:javascript
复制
-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/g0H1J77sBgAJhttps://groups.google.com/d/msg/drools-setup/Aru_F98nL9g/Z6vUCm6hBQAJ)。

编辑:

在更多地摆弄它并阅读了更多文档之后,参考文档引用的是连接到外部控制器的工作台,而不是在工作台内配置控制器。

票数 4
EN

Stack Overflow用户

发布于 2021-05-14 16:18:50

在经历了许多磨难之后,通过向Business Central Workbench添加角色"kieserver=kie-server,rest-all"和用户"kieserver",我的问题得到了解决。

在没有这些数据的情况下,我一直收到405

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48377746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档