Below is the complete stack trace
Business Object : CreditScore(currentScore, colorCode)
process variable : creditScore
Guided Decision table - sets the value of colorCode based on the ranged of currentScore value
Business Rule task input and output variable name has been kept same
After the business rule task, I have a gateway with 3 outgoing connectors with java expression on it.
Connector 1: return creditScore.getColorCode() == "Red";
Connector 2: return creditScore.getColorCode() == "Yellow"
Connector 3: return creditScore.getColorCode() == "Green"
Start Building Rest Runtime Factory: 1448041809864
End Building Rest Runtime Factory: 1448041809905
[main] ERROR org.kie.services.client.api.command.AbstractRemoteCommandObject - Response with status 200 returned.
Exception in thread "main" org.kie.remote.client.api.exception.RemoteApiException: WorkflowRuntimeException thrown with message '[DemoRulesProject.TestRuleFlowProcess:110 - Evaluate Credit Scotre:2] -- Unexpected exception executing action org.jbpm.process.instance.event.DefaultSignalManager$SignalAction@5a114e78':
org.kie.remote.services.rest.exception.KieRemoteRestOperationException: [DemoRulesProject.TestRuleFlowProcess:110 - Evaluate Credit Scotre:2] -- Unexpected exception executing action org.jbpm.process.instance.event.DefaultSignalManager$SignalAction@5a114e78
at org.kie.remote.services.rest.exception.KieRemoteRestOperationException.internalServerError(KieRemoteRestOperationException.java:132)
at org.kie.remote.services.cdi.ProcessRequestBean.doKieSessionOperation(ProcessRequestBean.java:250)
at org.kie.remote.services.cdi.ProcessRequestBean.processCommand(ProcessRequestBean.java:152)
at org.kie.remote.services.cdi.ProcessRequestBean$Proxy$_$$_WeldClientProxy.processCommand(ProcessRequestBean$Proxy$_$$_WeldClientProxy.java)
at org.kie.remote.services.rest.ResourceBase.restProcessJaxbCommandsRequest(ResourceBase.java:153)
at org.kie.remote.services.rest.ExecuteResourceImpl.execute(ExecuteResourceImpl.java:30)
at org.kie.remote.services.rest.ExecuteResourceImpl$Proxy$_$$_WeldClientProxy.execute(ExecuteResourceImpl$Proxy$_$$_WeldClientProxy.java)
at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168)
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:541)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:523)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:125)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.kie.remote.services.rest.jaxb.DynamicJaxbContextFilter.doFilter(DynamicJaxbContextFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.uberfire.ext.security.server.BasicAuthSecurityFilter.doFilter(BasicAuthSecurityFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:420)
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:400)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jbpm.workflow.instance.WorkflowRuntimeException: [DemoRulesProject.TestRuleFlowProcess:110 - Evaluate Credit Scotre:2] -- Unexpected exception executing action org.jbpm.process.instance.event.DefaultSignalManager$SignalAction@5a114e78
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:177)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:364)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:323)
at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:61)
at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:57)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:171)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:364)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:323)
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:73)
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:44)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:171)
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:236)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:389)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:195)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:177)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:169)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1901)
at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:122)
at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:40)
at org.drools.core.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.SingleSessionCommandService$TransactionInterceptor.execute(SingleSessionCommandService.java:548)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:73)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:79)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:358)
at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.execute(CommandBasedStatefulKnowledgeSession.java:490)
at org.jbpm.kie.services.impl.ProcessServiceImpl.execute(ProcessServiceImpl.java:405)
at org.jbpm.services.cdi.impl.ProcessServiceCDIImpl$Proxy$_$$_WeldClientProxy.execute(ProcessServiceCDIImpl$Proxy$_$$_WeldClientProxy.java)
at org.kie.remote.services.cdi.ProcessRequestBean.doKieSessionOperation(ProcessRequestBean.java:242)
... 48 more
Caused by: java.lang.RuntimeException: Unexpected exception executing action org.jbpm.process.instance.event.DefaultSignalManager$SignalAction@5a114e78
at org.drools.core.impl.StatefulKnowledgeSessionImpl.executeQueuedActions(StatefulKnowledgeSessionImpl.java:1567)
at org.jbpm.process.instance.event.DefaultSignalManager.signalEvent(DefaultSignalManager.java:73)
at org.jbpm.persistence.processinstance.JPASignalManager.signalEvent(JPASignalManager.java:37)
at org.jbpm.process.instance.ProcessRuntimeImpl$3.afterRuleFlowGroupDeactivated(ProcessRuntimeImpl.java:446)
at org.drools.core.event.AgendaEventSupport.fireAfterRuleFlowGroupDeactivated(AgendaEventSupport.java:180)
at org.drools.core.common.DefaultAgenda.getNextFocus(DefaultAgenda.java:558)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:999)
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1302)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1289)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1262)
at org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:109)
at org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:34)
at org.drools.core.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.SingleSessionCommandService$TransactionInterceptor.execute(SingleSessionCommandService.java:548)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:73)
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:79)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:358)
at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.fireAllRules(CommandBasedStatefulKnowledgeSession.java:268)
at org.jbpm.process.instance.event.listeners.TriggerRulesEventListener.afterRuleFlowGroupActivated(TriggerRulesEventListener.java:83)
at org.drools.core.event.AgendaEventSupport.fireAfterRuleFlowGroupActivated(AgendaEventSupport.java:152)
at org.drools.core.common.DefaultAgenda.activateRuleFlowGroup(DefaultAgenda.java:732)
at org.drools.core.common.DefaultAgenda.activateRuleFlowGroup(DefaultAgenda.java:720)
at org.jbpm.workflow.instance.node.RuleSetNodeInstance.internalTrigger(RuleSetNodeInstance.java:87)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:171)
... 79 more
Caused by: org.jbpm.workflow.instance.WorkflowRuntimeException: [DemoRulesProject.TestRuleFlowProcess:110 - :3] -- Exception when trying to evaluate constraint High Risk in split
at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:67)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:171)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:364)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:323)
at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:44)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:341)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:318)
at org.jbpm.workflow.instance.node.RuleSetNodeInstance.signalEvent(RuleSetNodeInstance.java:124)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:440)
at org.jbpm.process.instance.event.DefaultSignalManager.internalSignalEvent(DefaultSignalManager.java:81)
at org.jbpm.process.instance.event.DefaultSignalManager$SignalAction.execute(DefaultSignalManager.java:181)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.executeQueuedActions(StatefulKnowledgeSessionImpl.java:1565)
... 105 more
Caused by: java.lang.RuntimeException: Exception when trying to evaluate constraint High Risk in split
at org.jbpm.workflow.instance.node.SplitInstance.executeStrategy(SplitInstance.java:93)
at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:63)
... 116 more
Caused by: java.lang.RuntimeException: unable to execute ReturnValueEvaluator:
at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:131)
at org.jbpm.workflow.instance.node.SplitInstance.executeStrategy(SplitInstance.java:86)
... 117 more
Caused by: java.lang.NullPointerException
at org.jbpm.Process_org$u46$jbpm$u46$TestRuleFlowProcess765676022.returnValueEvaluator0(Process_org$u46$jbpm$u46$TestRuleFlowProcess765676022.java:9)
at org.jbpm.Process_org$u46$jbpm$u46$TestRuleFlowProcess765676022ReturnValueEvaluator0Invoker.evaluate(Process_org$u46$jbpm$u46$TestRuleFlowProcess765676022ReturnValueEvaluator0Invoker.java:15)
at org.jbpm.process.instance.impl.ReturnValueConstraintEvaluator.evaluate(ReturnValueConstraintEvaluator.java:129)
... 118 more
at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeRestCommand(AbstractRemoteCommandObject.java:457)
at org.kie.services.client.api.command.AbstractRemoteCommandObject.executeCommand(AbstractRemoteCommandObject.java:128)
at org.kie.services.client.api.command.KieSessionClientCommandObject.startProcess(KieSessionClientCommandObject.java:257)
at com.sample.RemoteJBPMRuleClient.main(RemoteJBPMRuleClient.java:81)
--
You received this message because you are subscribed to the Google Groups "jBPM Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+...@googlegroups.com.
To post to this group, send email to jbpm-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jbpm-usage/726879f4-c638-47cf-850d-2f4a61f7e8b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks Maciej for the input. I already figured out that name of both input and output variable should be same but document and your previous video misguided me.
Despite having the same name of input and output variable did not resolve the issue as the Java expression associated with the outgoing connector required using Kiefunction to evaluate outcome in the script editor not using just the getter on the the process variable object as suggested in your video.
Please don't get me wrong but lack of proper document actually took me long to implement the most obvious feature.
I appreciate your kind and quick turnaround but it is high time Redhat takes some time to work on the documentation. Can you please share with me the appropriate blog site so that I can document the steps for the community.
Once again thanks for the kind collaboration. I am glad to figured out the issue last night as it was painful for me to keep it open until Monday :-)
Regards,
Subho
On 23.11.2015, at 11:41, Subho Chatterjee <subhabrata...@gmail.com> wrote:Thanks Maciej for the input. I already figured out that name of both input and output variable should be same but document and your previous video misguided me.
Despite having the same name of input and output variable did not resolve the issue as the Java expression associated with the outgoing connector required using Kiefunction to evaluate outcome in the script editor not using just the getter on the the process variable object as suggested in your video.
Please don't get me wrong but lack of proper document actually took me long to implement the most obvious feature.
I appreciate your kind and quick turnaround but it is high time Redhat takes some time to work on the documentation.
Can you please share with me the appropriate blog site so that I can document the steps for the community.
On Nov 23, 2015 6:16 AM, "Maciej Swiderski" <swidersk...@gmail.com> wrote:
>
> Subho,
>>
>> On 23.11.2015, at 11:41, Subho Chatterjee <subhabrata...@gmail.com> wrote:
>>
>> Thanks Maciej for the input. I already figured out that name of both input and output variable should be same but document and your previous video misguided me.
>
> it the blog article it states clearly at the end that it must be named the same to be able properly work
Which blog article you are referring to here. I followed first 6 steps, could not find any such instructions. May be I had misguided by another blog not having correct information.
>>
>>
>> Despite having the same name of input and output variable did not resolve the issue as the Java expression associated with the outgoing connector required using Kiefunction to evaluate outcome in the script editor not using just the getter on the the process variable object as suggested in your video.
>
> that depends on your data structure, for some it’s enough to use getters for some you can use kie functions
In 6.2, apart from java primitive type which is not at all relevant for guided decision table, you must use Kiefunction else you will run into compilation errors. Your first 6 step video also referred to person object but had no reference of Kiefunction.
>
>> Please don't get me wrong but lack of proper document actually took me long to implement the most obvious feature.
>>
>>
> any feedback is good
>
>> I appreciate your kind and quick turnaround but it is high time Redhat takes some time to work on the documentation.
>
> if you use red hat product feel free to raise issue towards it so it get proper attention
>
>> Can you please share with me the appropriate blog site so that I can document the steps for the community.
>>
>>
> there is kie-docs repository in droolsjbpm organisation where we keep community docs. contribution to the docs is more than welcome
Can you kindly get me the exact link?
On 23.11.2015, at 13:40, Subho Chatterjee <subhabrata...@gmail.com> wrote:
On Nov 23, 2015 6:16 AM, "Maciej Swiderski" <swidersk...@gmail.com> wrote:
>
> Subho,
>>
>> On 23.11.2015, at 11:41, Subho Chatterjee <subhabrata...@gmail.com> wrote:
>>
>> Thanks Maciej for the input. I already figured out that name of both input and output variable should be same but document and your previous video misguided me.>
> it the blog article it states clearly at the end that it must be named the same to be able properly workWhich blog article you are referring to here. I followed first 6 steps, could not find any such instructions. May be I had misguided by another blog not having correct information.
>>
>>
>> Despite having the same name of input and output variable did not resolve the issue as the Java expression associated with the outgoing connector required using Kiefunction to evaluate outcome in the script editor not using just the getter on the the process variable object as suggested in your video.
>
> that depends on your data structure, for some it’s enough to use getters for some you can use kie functionsIn 6.2, apart from java primitive type which is not at all relevant for guided decision table, you must use Kiefunction else you will run into compilation errors. Your first 6 step video also referred to person object but had no reference of Kiefunction.
>
>> Please don't get me wrong but lack of proper document actually took me long to implement the most obvious feature.
>>
>>
> any feedback is good
>
>> I appreciate your kind and quick turnaround but it is high time Redhat takes some time to work on the documentation.
>
> if you use red hat product feel free to raise issue towards it so it get proper attention
>
>> Can you please share with me the appropriate blog site so that I can document the steps for the community.
>>
>>
> there is kie-docs repository in droolsjbpm organisation where we keep community docs. contribution to the docs is more than welcomeCan you kindly get me the exact link?