Я пытаюсь настроить службу выполнения kie (kie-server-services-6.2.0) для обеспечения, предоставляемого kie-drools-wb-webapp-6.2.0, когда я пытаюсь для получения доступа, следуя URL-адресу webapp на сервере выполнения, он показывает аутентификацию BASIC и не знает, как продолжить доступ к серверу выполнения, а также получить URL-адрес конечной точки для подготовки примеров правил построения kie-wb и получить работу REST или WSDL. У kie-wb есть имя пользователя с ролью «admin», и я могу правильно строить правила. Большое спасибо!setup drools Kie учетные данные сервера выполнения
ответ
Пытаясь ответить на ваш вопрос, я решил с самого начала создать HOWTO то, что я сделал, чтобы получить мои правила Drool, выполненные на удаленном сервере.
Моя задача - интегрировать Kie Workbench и Execution Server, чтобы бизнес-пользователи могли создавать правила Drools и развертывать их в Repo, в то время как разработчики могли использовать эти правила, вызывая службы REST автономного сервера выполнения Drools.
Вы должны выполнить следующие действия:
Перед использованием Drools Execution Server, позволяют мне использовать такую терминологию:
- Кие Drools Workbench - это пользовательский интерфейс для создания и развертывания модели и файл Правила (s) в репозиторий Maven
- Kie Execution Server - автономный сервер выполнения Drools. Он потребляет REST вызовы команд и возвращает результаты
- Предполагается выполнение у вас есть Tomcat 7.0/8.0 и Maven установлен
Развертывание Drools Workbench
Наиболее стабильной версии Кие Drools Workbench для развертывания на момент равен 6.1.0. Используйте это для развертывания только на Tomcat 7.0!
Вы можете скачать файл с именем-Drools кие-ШП-Дистрибуция войны из Jboss sonar repo, используйте версию 6.1.0.Final и tomcat7.war
Убедитесь, что вы добавили следующие банки для запуска Tomcat Lib каталога: javax.security.jacc-апи-1.4.jar, Кие-кот-integration.jar, SLF4J-апи-1.7.2.jar
Убедитесь, что вы имеете или добавлены следующие роли/пользователям tomcat-users.xml вашего Tomcat:
<role rolename="admin"/> <!-- Tomcat Admin role -->
<role rolename="analyst"/> <!-- Kie Workbench Analyst role. -->
<role rolename="kie-server"/> <!-- Kie Drools Execution Server role. Needed to make REST Rules execution request -->
<user username="admin" password="admin" roles="manager-gui,manager-script" /> <!-- Tomcat Admin user -->
<user username="user1" password="user1" roles="admin, kie-server" /> <!-- Kie Drools Execution Server user. Needed to make REST Rules execution request -->
- Deploy tomcat7.war в Tomcat. Я уверен, что вы знаете, как это сделать
- Открыть ссылку: http://localhost:8080/kie-drools-wb-distribution-wars-6.1.0.Final-tomcat7.0/. Используйте учетные данные администратора, настроенные на предыдущем шаге, чтобы войти в Workbench. В нашем случае user1/user1
В Kie Workbench создайте файл Model, Rules.Подтвердите их и нажмите «Развернуть». Удостоверьтесь, что у вас есть файл jar с вашим проектом, который будет переведен в Maven repo!
В качестве примера можно использовать правила и модели я создал для целей тестирования: слюней правило файл:
import com.arty.drlwb.MyExampleType; rule "one" when MyExampleType(message == "Hello Worlddddd") then System.out.println("Hello World:)"); end
Развертывание кия Drools Execution сервера
На момент это To-Do, пишущее самую стабильную версию Kie Drools Execution Server: kie-server-services-6.2.0.Beta3.war. Вы можете скачать его здесь, Jboss sonar repo:
- Deploy -сервер кий-сервисы 6.2.0.Beta3.war на Tomcat
- запроса Make GET на http://localhost:8080/kie-server-services-6.2.0.Beta3/services/rest/server/. Если вы попросили указать использование пользователя/пароля, который вы настроили для kie-server роль в tomcat-users.xml. Вы должны увидеть тот же ответ:
<response type="SUCCESS" msg="Kie Server info">
<kie-server-info>
<version>6.2.0.Beta3</version>
</kie-server-info>
</response>
- Если вы видите один и тот же результат, как я вижу, теперь его время, чтобы развернуть Кие контейнер: запрос PUT Сделать на http://localhost:8080/kie-server-services-6.2.0.Beta3/services/rest/server/containers/ {your_container_id} Используйте этот формат XML:
<kie-container>
<container-id>{your_container_id}</container-id>
<status/>
<release-id>
<group-id>{your_project_group_id}</group-id>
<artifact-id>{your_project_artifact_id}</artifact-id>
<version>{your_project_version}</version>
</release-id>
<resolved-release-id/>
</kie-container>
- Если вы получаете УСПЕХ ответ состояния вы можете проверить теперь все контейнеры были развернуты. Сделайте GET на http://localhost:8080/kie-server-services-6.2.0.Beta3/services/rest/server/containers. Вы должны увидеть ваш контейнер был развернут:
<response type="SUCCESS" msg="List of created containers">
<kie-containers>
<kie-container container-id="{your_container_id}" status="STARTED">
<release-id>
<artifact-id>{your_project_artifact_id}</artifact-id>
<group-id>{your_project_group_id}</group-id>
<version>{your_project_version}</version>
</release-id>
<resolved-release-id>
<artifact-id>{your_project_artifact_id}</artifact-id>
<group-id>{your_project_group_id}</group-id>
<version>{your_project_version}</version>
</resolved-release-id>
</kie-container>
</kie-containers>
</response>
- Теперь запускать все правила, которые вы создали и положить в ваш проект банку: Сделать запрос POST на http://localhost:8080/kie-server-services-6.2.0.Beta3/services/rest/server/containers/ {your_container_id}
Используйте формат XML. причины использовать свою собственную модель вместо MyExampleType:
<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entry-point="DEFAULT">
<com.arty.drlwb.MyExampleType>
<message>Hello Worlddddd</message>
</com.arty.drlwb.MyExampleType>
</insert>
<fire-all-rules/>
</batch-execution>
- Проверьте консоль Tomcat. Если вы получите Hello World :) сообщение и тип ответа SUCCESS все работает для вас сейчас!
P.S Из-за удачи документации по теме я проверил источники сервера от GitHub. Взгляните на kie-server-client и kie-server-integ-tests код и тесты. Надеюсь это поможет.
Nice writeup. Я бы добавил, если вы получаете исключение: «После первого запуска этот контекст должен быть доступен через java: URL», проверьте свою версию Tomcat. Если вы используете Tomcat v7, убедитесь, что у вас есть как минимум 7.0.26 (см. Https://hibernate.atlassian.net/browse/HHH-7099) – eze
Ваши инструкции были очень полезными. Тем не менее, следующий тег должен быть добавлен в раздел Host файла server.xml, чтобы меню появилось на странице приветствия: –
Quite полезно, знаете ли вы, есть ли способ загрузить все правила с удаленного автономного сервера на мой локальный хост? Во-вторых, есть ли другой способ подключения к автономному серверу помимо REST для выполнения правила? – Bhushan