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