[
https://issues.jboss.org/browse/DROOLS-2234?page=com.atlassian.jira.plugi...
]
Matteo Mortari updated DROOLS-2234:
-----------------------------------
Description:
Only with JSON.
Sending a payload request with example:
{code:java}
{
"model-namespace" :
"http://www.trisotech.com/definitions/_fd2a47fb-a74a-44d7-b26e-cd1a6289839d",
"model-name" : "Exercise 1.1",
"decision-name" : null,
"decision-id" : null,
"dmn-context" : {"Credit Score" : 4000, "Income" : 50000}
}
{code}
causes NPE:
{code:java}
23:25:06.509 [Acme.Utils.ThreadPool(1)-PooledThread:
Acme.Serve.Serve$ServeConnection@4d6e768] ERROR o.k.s.s.d.ModelEvaluatorServiceBase -
Error from container 'input-data-string'
java.lang.NullPointerException: null
at
org.kie.server.services.dmn.ModelEvaluatorServiceBase.evaluateDecisions(ModelEvaluatorServiceBase.java:143)
~[classes/:na]
at
org.kie.server.remote.rest.dmn.ModelEvaluatorResource.evaluateDecisions(ModelEvaluatorResource.java:108)
[kie-server-rest-dmn-7.6.0-SNAPSHOT.jar:7.6.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
{code}
Please notice there is currently NO WAY of having this JSON payload with the proper
DMNClient.
This is because the DMNClient currently forbids null-ifying the decision-name or
decision-id attribute.
Hence this is a case when not using the Kie Client but directly forging the JSON payload
manually (for instance from
another/.NET/JS client)
was:
Only with JSON.
Sending a payload request with example:
{code:java}
{
"model-namespace" :
"http://www.trisotech.com/definitions/_fd2a47fb-a74a-44d7-b26e-cd1a6289839d",
"model-name" : "Exercise 1.1",
"decision-name" : null,
"decision-id" : null,
"dmn-context" : {"Credit Score" : 4000, "Income" : 50000}
}
{code}
causes NPE:
{code:java}
23:25:06.509 [Acme.Utils.ThreadPool(1)-PooledThread:
Acme.Serve.Serve$ServeConnection@4d6e768] ERROR o.k.s.s.d.ModelEvaluatorServiceBase -
Error from container 'input-data-string'
java.lang.NullPointerException: null
at
org.kie.server.services.dmn.ModelEvaluatorServiceBase.evaluateDecisions(ModelEvaluatorServiceBase.java:143)
~[classes/:na]
at
org.kie.server.remote.rest.dmn.ModelEvaluatorResource.evaluateDecisions(ModelEvaluatorResource.java:108)
[kie-server-rest-dmn-7.6.0-SNAPSHOT.jar:7.6.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
{code}
DMN JSON payload with decision-name or decision-id null causes NPE
------------------------------------------------------------------
Key: DROOLS-2234
URL:
https://issues.jboss.org/browse/DROOLS-2234
Project: Drools
Issue Type: Bug
Components: dmn engine, kie server
Reporter: Matteo Mortari
Assignee: Matteo Mortari
Only with JSON.
Sending a payload request with example:
{code:java}
{
"model-namespace" :
"http://www.trisotech.com/definitions/_fd2a47fb-a74a-44d7-b26e-cd1a6289839d",
"model-name" : "Exercise 1.1",
"decision-name" : null,
"decision-id" : null,
"dmn-context" : {"Credit Score" : 4000, "Income" : 50000}
}
{code}
causes NPE:
{code:java}
23:25:06.509 [Acme.Utils.ThreadPool(1)-PooledThread:
Acme.Serve.Serve$ServeConnection@4d6e768] ERROR o.k.s.s.d.ModelEvaluatorServiceBase -
Error from container 'input-data-string'
java.lang.NullPointerException: null
at
org.kie.server.services.dmn.ModelEvaluatorServiceBase.evaluateDecisions(ModelEvaluatorServiceBase.java:143)
~[classes/:na]
at
org.kie.server.remote.rest.dmn.ModelEvaluatorResource.evaluateDecisions(ModelEvaluatorResource.java:108)
[kie-server-rest-dmn-7.6.0-SNAPSHOT.jar:7.6.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
[resteasy-jaxrs-3.0.19.Final.jar:3.0.19.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
[tjws-3.0.19.Final.jar:3.0.19.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
{code}
Please notice there is currently NO WAY of having this JSON payload with the proper
DMNClient.
This is because the DMNClient currently forbids null-ifying the decision-name or
decision-id attribute.
Hence this is a case when not using the Kie Client but directly forging the JSON payload
manually (for instance from
another/.NET/JS client)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)