3

新しいプロジェクトの 1 つとして 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

4

2 に答える 2

4

インターネット上で急増しているさまざまな例に従って、ワークベンチと kie サーバーの両方を同じ Web サーバーやアプリ サーバーで動作させることができました。ただし、異なるポートで実行されている同じホスト上で別のアプリ サーバーを使用して、より現実的な運用環境をセットアップするときに、この特定のエラーが発生しました。問題は、URL の REST バージョンは、workbench と kie サーバーの両方が同じアプリまたは Web サーバーで実行されている場合にのみサポートされることです。別のアプリまたは Web サーバー上にある場合は、Web ソケットを使用する必要があります (プロパティー org.kie.workbench.controller のドキュメントを参照してください)。

http://docs.jboss.org/drools/release/7.8.0.Final/drools-docs/html_single/#_wb.systemproperties

リモート Kie Server Controller との接続には、Web Socket プロトコルのみがサポートされています。このプロパティを指定すると、Workbench は組み込みコントローラの実行に関連するすべての機能を自動的に無効にします。

これを読んだ後、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 )。

編集:

もう少しいじり、ドキュメントをもう少し読んだ後、参照されたドキュメントは、ワークベンチ内でコントローラーを構成するのではなく、外部コントローラーに接続するワークベンチを参照していました。

于 2018-07-20T19:54:41.983 に答える