HelloWorld使用Drools Workbench&;KIE服务器

HelloWorld使用Drools Workbench&;KIE服务器,drools,kie,kie-workbench,kie-wb,kie-server,Drools,Kie,Kie Workbench,Kie Wb,Kie Server,将KIE Drools Workbench 6.2.0 Final安装在JBoss 7应用程序服务器本地实例中,并将KIE Server 6.2.0 Final安装在本地Tomcat 7实例中 严格出于评估目的使用基于web的KIE工作台(我使用它来编写基于Java的Maven项目的代码,而不是使用特定的IDE,如Eclipse或IntelliJ IDEA): 创建了一个名为testRepo的新存储库 创建了一个名为HelloWorld的新项目 创建了一个名为HelloWorld的新数据对象,该

将KIE Drools Workbench 6.2.0 Final安装在JBoss 7应用程序服务器本地实例中,并将KIE Server 6.2.0 Final安装在本地Tomcat 7实例中

严格出于评估目的使用基于web的KIE工作台(我使用它来编写基于Java的Maven项目的代码,而不是使用特定的IDE,如Eclipse或IntelliJ IDEA):

  • 创建了一个名为testRepo的新存储库

  • 创建了一个名为HelloWorld的新项目

  • 创建了一个名为HelloWorld的新数据对象,该对象具有名为message的字符串属性:

    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
    
  • 当我在此URL下将其部署到Kie服务器时:

  • 在Google 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>
    
    
    作为基础(在提出此问题之前)

    谷歌的大多数搜索结果只是解释了如何通过设置基于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


    感谢您花时间阅读此…

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


    希望有帮助,

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

    希望有帮助,你还好吗

    Esteban的响应是正确的,但是,您应该添加另一个头,您需要添加的头是“Authorization”,Authorization的值是您向应用程序领域注册到在base64中转换的kie服务器的用户。e、 g:

    服务器:系统*01

    已转换为base64:

    a2llc2VydmVyOnN5c3RlbSowMQ==

    无论如何,我的请求的完整标题如下所示:

    Authorization : Basic a2llc2VydmVyOnN5c3RlbSowMQ==
    Content-Type  : application/xml
    
    我希望这是有帮助的

    对不起我的英语!:)

    你还好吗

    Esteban的响应是正确的,但是,您应该添加另一个头,您需要添加的头是“Authorization”,Authorization的值是您向应用程序领域注册到在base64中转换的kie服务器的用户。e、 g:

    服务器:系统*01

    已转换为base64:

    a2llc2VydmVyOnN5c3RlbSowMQ==

    无论如何,我的请求的完整标题如下所示:

    Authorization : Basic a2llc2VydmVyOnN5c3RlbSowMQ==
    Content-Type  : application/xml
    
    我希望这是有帮助的


    对不起我的英语!:)

    我使用Postman(Chrome应用程序/插件)将授权选项卡选择为No Auth。反应真的很酷

    <response type="SUCCESS" msg="Container helloworld successfully called.">
         <results>
             <![CDATA[<execution-results>
               <result identifier="message">
                    <demo.HelloWorld>
                        <message>Joe</message>
                    </demo.HelloWorld>
               </result>
               <fact-handle identifier="message" external-form="0:4:1864164041:1864164041:4:DEFAULT:NON_TRAIT"/>
    </execution-results>]]>
               </results>
    </response>
    
    
    乔
    ]]>
    
    我使用Postman(Chrome应用程序/插件)将授权选项卡选择为No Auth。反应真的很酷

    <response type="SUCCESS" msg="Container helloworld successfully called.">
         <results>
             <![CDATA[<execution-results>
               <result identifier="message">
                    <demo.HelloWorld>
                        <message>Joe</message>
                    </demo.HelloWorld>
               </result>
               <fact-handle identifier="message" external-form="0:4:1864164041:1864164041:4:DEFAULT:NON_TRAIT"/>
    </execution-results>]]>
               </results>
    </response>
    
    
    乔
    ]]>
    
    6.5.3和6.5.2版本我想你指的是6.3.0和6.2.0,对吧?目前还没有6.5.x版本的Drools。Esteban,是的。。。我对KIE Drools工作台和KIE服务器都使用6.2.0 Final。在我的帖子中做了编辑。6.5.3和6.5.2版本我猜你指的是6.3.0和6.2.0,对吧?目前还没有6.5.x版本的Drools。Esteban,是的。。。我对KIE Drools工作台和KIE服务器都使用6.2.0 Final。在我的帖子里做了编辑。是的,我做了。。。在SoapUI中,我专门将application/xml放在Post请求头中。。。它给了我一个401-这个请求需要HTTP身份验证。我不明白为什么?我在KIE Drools工作台内创建容器时指定了此信息。。。我还将用户名和密码信息作为头参数(键/值对)放在SoapUI中。正如Marco Blos在其回复中提到的,您还需要提供身份验证参数。是的,我提供了。。。在SoapUI中,我专门将application/xml放在Post请求头中。。。它给了我一个401-这个请求需要HTTP身份验证。我不明白为什么?我在KIE Drools工作台内创建容器时指定了此信息。。。我还将用户名和密码信息作为头参数(键/值对)放在SoapUI中。正如Marco Blos在其响应中提到的,您还需要提供身份验证参数。