Я мог бы установить KIE Execution Server (6.3.0.Final) и Workbench (6.3.0.Final) на Wildfly 8.1.0.Final, используя информацию в блоге: http://mswiderski.blogspot.in/2015/10/installing-kie-server-and-workbench-on.html Оба сервера и Workbench работают отлично, и сервер отображается в Workbench в разделе «Браузер управления сервером».helloworld на Kie Workbench и Kie Server версии 6.3.0
Мой следующий шаг заключается в развертывании простой контейнер на сервере и тест REST GET и POST вызовы, поэтому я последовал за шаги, указанные в ответах на вопрос: HelloWorld using Drools Workbench & KIE Server
Единственное изменение в Java и код DRL является относительно пакета. Ниже мой Java-код:
package test.myproject;
/**
* 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 test.myproject;
import test.myproject.HelloWorld;
rule "hello"
when
HelloWorld(message == "Joe");
then
System.out.println("Hello Joe!");
end
код успешно построен и развернут в контейнере на сервере. Запрос GET с использованием RESTClient/PostMan/Advanced REST Client дает правильный ответ.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response type="SUCCESS" msg="Info for container myproject">
<kie-container container-id="myproject" status="STARTED">
<release-id>
<artifact-id>MyProject</artifact-id>
<group-id>test</group-id>
<version>1.0</version>
</release-id>
<resolved-release-id>
<artifact-id>MyProject</artifact-id>
<group-id>test</group-id>
<version>1.0</version>
</resolved-release-id>
<scanner status="DISPOSED"/>
</kie-container>
</response>
Однако когда я отправляю в контейнер с содержанием ниже:
<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entrypoint="DEFAULT">
<test.myproject.HelloWorld>
<message>Joe</message>
</test.myproject.HelloWorld>
</insert>
Обратите внимание, что я сделал внести изменения в XML в соответствии с изменениями в коде. Я попробовать различные варианты, как и т.д., но я получаю ответ, как:
Status Code: 405 Method Not Allowed
Allow: HEAD, DELETE, GET, OPTIONS, PUT
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Length: 0
Date: Thu, 10 Dec 2015 05:29:09 GMT
Expires: 0
Pragma: no-cache
Server: WildFly/8
X-Powered-By: Undertow/1
Похоже вариант POST не допускается, поэтому попытался PUT, но получил ответ, как:
Status Code: 415 Unsupported Media Type
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Length: 0
Date: Thu, 10 Dec 2015 05:32:17 GMT
Expires: 0
Pragma: no-cache
Server: WildFly/8
X-Powered-By: Undertow/1
Может кто-нибудь сказать мне, где Я ошибаюсь. Я также проверил файл журнала и увидел ошибку ниже, когда вызывается POST:
2015-12-10 10: 59: 09,208 WARN [org.jboss.resteasy.core.ExceptionHandler] (задача по умолчанию-48) не удалось выполнить: javax.ws.rs.NotAllowedException: метод ресурсов не найден для POST, возвращает 405 с заголовком Разрешить на org.jboss.resteasy.core.registry.SegmentNode.match (SegmentNode.java:375) [resteasy-jaxrs-3.0.8 .Final.jar:] на org.jboss.resteasy.core.registry.SegmentNode.match (SegmentNode.java:114) [Resteasy-jaxrs-3.0.8.Final.jar:]
и ошибок, когда PUT называется:
2015-12-10 11: 02: 17,127 WARN [org.jboss.resteas y.core.ExceptionHandler] (задание по умолчанию-50) не удалось выполнить: javax.ws.rs.NotSupportedException: нельзя использовать тип контента на org.jboss.resteasy.core.registry.SegmentNode.match (SegmentNode.java:380) [resteasy-jaxrs-3.0.8.Final.jar:] at org.jboss.resteasy.core.registry.SegmentNode.match (SegmentNode.java:114) [resteasy-jaxrs-3.0.8.Final.jar:]