HelloWorld usando o Drools Workbench e o KIE Server

O KIE Drools Workbench 6.2.0 Final é instalado dentro de uma instância local do JBoss 7 Application Server e o Kie Server 6.2.0 Final dentro de uma instância local do Tomcat 7.

Usando o KIE Workbench baseado na Web estritamente para fins de avaliação (estou usando-o para gerar projetos Java Maven baseados em Java e não estou usando um IDE específico, como Eclipse ou IntelliJ IDEA):

Criou um novo repositório chamado testRepo

Criou um novo projeto chamado HelloWorld

Criou um novo objeto de dados chamado HelloWorld com uma propriedade String chamada 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;
  }

} 

Criou um novo DRL contendo o seguinte conteúdo:

package demo;

import demo.HelloWorld;

rule "hello"

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

Quando eu implanto-o no meu servidor Kie sob este URL:

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

Recebo a seguinte resposta quando copio e colo o URL acima no Google Chrome:

<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>

Quando tento fazer um POST usando a seguinte carga útil (usando Postman ou SoapUI):

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

Recebeu o seguinte:

Status HTTP 415 - Não é possível consumir o tipo de tipo de conteúdo Mensagem de relatório de status Não é possível consumir o tipo de conteúdo

descrição O servidor recusou esta solicitação porque a entidade da solicitação está em um formato não suportado pelo recurso solicitado para o método solicitado.

O que estou fazendo de errado? Fui para Deploy -> Rule Deployments e registrei meu servidor de servidor juntamente com a criação de um contêiner chamado helloworld e, como se pode ver na Etapa 5, funcionou. Talvez eu não esteja implantando corretamente?

Aliás, usei o seguinte Stack Overflowpostar como base (antes de fazer esta pergunta) ...

A maioria dos resultados de pesquisa do Google apenas explica como criar projetos Drools programaticamente, configurando projetos baseados em Maven. Estou avaliando o KIE Drools Workbench para ver com que facilidade uma pessoa não técnica pode usar o KIE Drools Workbench para gerar regras baseadas em Drools e executá-las.

Estou perdendo um passo? No Tomcat 7, ele contém apenas os seguintes diretórios em apache-tomcat-7.0.64 / webapps / kie-server-6.2.0.

META-INF

WEB-INF

Obrigado por tomar o tempo para ler este...

questionAnswers(3)

yourAnswerToTheQuestion