Download [#CAM-6388] Workflows waiting on an intermediate signal catch

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
[CAM-6388] Workflows waiting on an intermediate signal catch event after an
event based gateway cannot be triggered from REST API. Created: 11/Jul/16 Updated:
13/Jul/16 Resolved: 12/Jul/16
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Closed
camunda BPM
None
7.5.0
Type:
Reporter:
Resolution:
Labels:
Remaining
Estimate:
Time Spent:
Original
Estimate:
Environment:
Bug Report
Arun Mohan
Duplicate
None
Not Specified
Attachments:
Issue Links:
None
Priority:
Assignee:
Votes:
L3 - Default
Unassigned
0
Not Specified
Not Specified
Jboss wildfly 10.0.0. Final
evtGtwyTest.bpmn
TestProject.zip
Related
is related to CAM-4099 Using the Rest API, I can throw a BPM...
Description
Steps to reproduce.
1. Please deploy the attached bpmn xml file and start the workflow.
2. This flow creates a subscription with name "blessed" in the event subscription table.
3. Now i need to signal the flow from rest. So i tried using this rest API.
Request
POST
http://server:port/
{camundarestcontext}/rest/execution/ { "signalEventSubscriptionName" : "blessed" }
Response
Got an execution id which i used for signalling as follows
Open
http://localhost:8080/{camundarestcontext}
//rest/execution/
{executionid}
signal.
For this i got an exception as below. If i do not use event gateway then everything works fine. What should i do
gateway?
10:19:16,265 WARNING [ExceptionHandler] (default task-24) org.camunda.bpm.engine.rest.exception.RestEx
execution d9cbac60-4778-11e6-8ff2-8851fb701d15: ENGINE-02010 The activity with id 'evntGateway_1' does
at org.camunda.bpm.engine.rest.sub.runtime.impl.ExecutionResourceImpl.signalExecution(ExecutionResourceI
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
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.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:158)
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:106)
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:153)
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:91)
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:
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:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at com.motive.camunda.rest.security.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:91)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.camunda.bpm.engine.rest.filter.CacheControlFilter.doFilter(CacheControlFilter.java:41)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at com.motive.aat.AatFilter.doFilter(AatFilter.java:94)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextA
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAss
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthentication
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHand
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidenti
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstr
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsH
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticat
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:
at
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityCont
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-02010 The activity with id 'evntGatew
at org.camunda.bpm.engine.impl.bpmn.behavior.BpmnBehaviorLogger.unsupportedSignalException(BpmnBeh
at org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.signal(FlowNodeActivityBehavior
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.signal(PvmExecutionImpl.java:694)
at org.camunda.bpm.engine.impl.cmd.SignalCmd.execute(SignalCmd.java:63)
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor
at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:58
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationC
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.camunda.bpm.engine.impl.RuntimeServiceImpl.signal(RuntimeServiceImpl.java:301)
at org.camunda.bpm.engine.rest.sub.runtime.impl.ExecutionResourceImpl.signalExecution(ExecutionResourceI
... 59 more
Comments
Comment by Arun Mohan [ 11/Jul/16 ]
Attaching a camunda testcase to proove the issue.
There are comments in the testcase about the problem and an alternate way to fix it as well.
Comment by Thorben Lindhauer [ 12/Jul/16 ]
Hi Arun,
RuntimeService#signal
is not supposed to trigger BPMN signal events that are boundary
events or follow an event based gateway. It can be used to continue execution of wait state
activities, i.e. the activity that the execution currently waits in. In this case, this is the eventbased gateway and that cannot be signalled.
As you write in your test case, RuntimeService#signalEventReceived is the correct Java
API and that is not exposed in the REST API yet. This is a missing feature and not a bug, see
ticket CAM-4099. Let us know if you would like to contribute this functionality.
In the future, please post such things in the user forum (https://forum.camunda.org/) before
raising bug reports, so that we can classify the problem before raising a ticket.
Cheers,
Thorben
Generated at Fri May 12 13:16:12 CEST 2017 using JIRA 6.4.6#64021sha1:33e5b454af4594f54560ac233c30a6e00459507e.
Related documents