1
votes

After integrating LDAP Authentication in jBPM, I am getting this error when I access Manage from jbpm-console:

Attention Execution Server Unavailable There is currently no server connected.

on console I am constantly getting this error:

19:35:09,678 INFO  [org.kie.server.controller.websocket.client.WebSocketKieServerControllerImpl] (KieServer-ControllerConnect) Kie Server points to non Web Socket controller 'http://localhost:8080/jbpm-console/rest/controller', using default REST mechanism
19:35:10,501 WARN  [org.kie.server.services.impl.controller.DefaultRestControllerImpl] (KieServer-ControllerConnect) Exception encountered while syncing with controller at http://localhost:8080/jbpm-console/rest/controller/server/sample-server error Error while sending PUT request to http://localhost:8080/jbpm-console/rest/controller/server/sample-server response code 405

When I comment out LDAP login-module from standalone.xml, it works, but not with LDAP Enabled.

Versions used:

  • kie-server-7.29.0.Final-wildfly-14.0.1.Final

  • jbpm-console-7.29.0.Final-wildfly-14.0.1.Final

  • jbpm-casemgmt-7.29.0.Final-wildfly-14.0.1.Final

Used jbpm-installer-7.29.0.Final to build and start the Wildfly server.

3
Did you get a solution - atleast upvote one of the answers - this helps the future useruser1428716

3 Answers

0
votes

For access to KIE Execution Server you need to have user with role 'kie-server'. I had same case. Adding user 'kieserver' with role 'kie-server' solved my problem. Documentation of KIE Execution Server https://docs.jboss.org/drools/release/6.2.0.Final/drools-docs/html/ch19.html

org.kie.workbench.controller: The URL used to connect to the jBPM controller, for example, ws://localhost:8080/kie-server-controller/websocket/controller.

org.kie.workbench.controller.user: The jBPM controller user. Default value: kieserver.

org.kie.workbench.controller.pwd: The jBPM controller password. Default value: kieserver1!.

0
votes

I got the same error when trying to configure jbpm to use DB authentication:

Exception encountered while syncing with controller at http://localhost:8080/business-central/rest/controller/server/sample-server error Error while sending PUT request to http://.... response code 405

The jbpm version that i'm using is: jbpm-server-7.47.0.Final-dist.zip (released at Dec 4, 2020)

In the DB, i have already setup user "admin" with password "admin" that contains the "kie-server" role.

And in the standalone.xml, i also added following system properties to define the user name and password to connect to the kie server and controller:

<property name="org.kie.server.user" value="admin"/>
<property name="org.kie.server.pwd" value="admin"/>
<property name="org.kie.server.controller.user" value="admin"/>
<property name="org.kie.server.controller.pwd" value="admin"/>

Even though startup the server with the mentioned error, the kie server can startup successfully. I tried to use the 'admin' user to access the kie-server REST API (e.g. GET http://localhost:8080/kie-server/services/rest/server) without any problem. I also tried to login to the business central with the 'admin' user and also successful.

But the problem still remain the same that there is no server available for kjar deployment.

Resolution

It took me several days to figure out that its the configuration issue in the standalone.xml file.

In the standalone.xml, there are by default provided a set of system properties with name is "kie.keystore.key.*". These attributes are used to retrieve the password value from the a keystore file (e.g. jBPMKeystore.jceks in the configuration folder). By checking the source code of DefaultRestControllerImpl.java, the logic is to first load the password from the keystore file and if there is problem, it will then retrieve the password from the system property: org.kie.server.controller.pwd

So, what we need to do is to comment out / remove the system properties "kie.keystore.*" inside the <system-properties> tag:

<!--
<property name="kie.keystore.keyStoreURL" value="file:///${jboss.server.config.dir}/jBPMKeystore.jceks"/>
<property name="kie.keystore.keyStorePwd" value="jBPMKeyStorePassword"/>
<property name="kie.keystore.key.server.alias" value="jBPMAlias"/>
<property name="kie.keystore.key.server.pwd" value="jBPMKeyPassword"/>
<property name="kie.keystore.key.ctrl.alias" value="jBPMAlias"/>
<property name="kie.keystore.key.ctrl.pwd" value="jBPMKeyPassword"/>
-->
0
votes

I have changed the java-home version from 18 to 1.8 and it worked