当前位置: 首页 > 知识库问答 >
问题:

使用Drools工作台和KIE服务器的HelloWorld

卫弘义
2023-03-14

将KIE Drools Workbench 6.2.0 Final安装在JBoss7应用服务器本地实例中,将KIE Server 6.2.0 Final安装在本地Tomcat7实例中。

package demo;

/**
 * This class was automatically generated by the data modeler tool.
 */
public class HelloWorld implements java.io.Serializable {

  static final long serialVersionUID = 1L;

  private java.lang.String message;

  public HelloWorld()
  {
  }

  public java.lang.String getMessage()
  {
     return this.message;
  }

  public void setMessage(java.lang.String message)
  {
     this.message = message;
  }

  public HelloWorld(java.lang.String message)
  {
     this.message = message;
  }

} 

创建了包含以下内容的新DRL:

package demo;

import demo.HelloWorld;

rule "hello"

when 
    HelloWorld(message == "Joe");
then
    System.out.println("Hello Joe!");
end

当我将它部署到我的Kie服务器下面的URL时:

http://localhost:8080/kie-server-6.2.0.final-webc/services/rest/server/containers/helloworld

当我在谷歌Chrome中复制并粘贴上述URL时,我得到以下响应:

<response type="SUCCESS" msg="Info for container hello">
<kie-container container-id="hello" status="STARTED">
    <release-id>
        <artifact-id>Hello</artifact-id>
        <group-id>demo</group-id>
        <version>1.0</version>
    </release-id>
    <resolved-release-id>
        <artifact-id>Hello</artifact-id>
        <group-id>demo</group-id>
        <version>1.0</version>
    </resolved-release-id>
    <scanner status="DISPOSED"/>
</kie-container>
</response>

当我尝试使用以下有效负载(使用Postman或SoapUI)完成一个POST时:

<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entrypoint="DEFAULT">
    <demo.HelloWorld>
        <message>Joe</message>
    <demo.HelloWorld>
</insert>

我可能做错了什么?我转到Deploy->Rule Deployments并注册了我的KIE服务器,同时创建了一个名为helloworld的容器,从第5步可以看出,它起作用了。也许我没有正确地部署它?

顺便说一句,我用下面的堆栈溢出帖子作为基础(在问这个问题之前)...

来自Google的大多数搜索结果只是解释了如何通过设置基于Maven的项目以编程方式创建Drools项目。我正在评估KIE Drools Workbench,以了解非技术人员如何轻松地使用KIE Drools Workbench生成基于Drools的规则并执行它们。

我是不是漏了一步?在Tomcat 7中,它只包含apache-tomcat-7.0.64/webapps/kie-server-6.2.0.final-webc下的以下目录:

META-INF

WEB-INF

感谢你花时间阅读这篇文章...

共有1个答案

易流觞
2023-03-14

您在POST请求标头中使用的内容类型是什么?据我所知,如果没有在请求头中提供内容类型:application/xml,就会出现错误消息。

希望能有所帮助,

 类似资料:
  • “Drools骆驼服务器”和“KIE-WB执行服务器”有什么区别?它们是否服务于在远程服务器中执行规则/进程的相同目的?

  • 我正在使用与Kie执行服务器集成的Drools workbench 7.17。我在workbench中创建了一个项目,该项目部署在kie执行服务器上。 我已经在项目的设置中配置了kie-base和kie-会话。将有状态的kie-会话定义为kieSession。我正在使用Kie ServerJavaClient API将事实插入引擎。 我能够在KieSession上进行查找。我将接收不同用户的数据,

  • 我试图使用Business Central的BPMN可视化编辑器设计一个带有ruleflow组的业务流程,这些组将由DRL文件中的规则提取,但ruleflow组中的规则不会触发。 我正在使用Drools工作台(jboss/drools-workbench-showcase:7.18.0.final)和KIE执行服务器(jboss/kie-server-showcase:7.23.0.final)的

  • 当规则应用程序在KIE服务器上运行时,如何启用规则引擎跟踪/日志记录? 规则应用程序是在工作台中创建的,不包含自定义代码。我能够使用KIE REST API执行规则,但是规则应用程序没有产生预期的结果。 环境: 我尝试了以下步骤: 使用Git在本地克隆工作台项目 将logback.xml添加到项目的根目录 将更改推回到工作台git repo 在工作台项目编辑器视图中添加了日志作为依赖项 更新项目版