Basic usage of the intermediate signal catching event

Hi everyone,
I’m having trouble advancing the process token past an intermediate signal catching event. I’m testing just the basic usage of this, where the intermediate signal catching event is used to pause the process, and then the signal is activated to continue the process past that point.

I’ve setup a simple process diagram to test it:

<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"> <signal id="asdf53452342" name="signaltest" flowable:scope="processInstance"></signal> <process id="api-test-1" name="API Test 1" isExecutable="true"> <startEvent id="startEvent1"></startEvent> <sequenceFlow id="sid-FC4903CD-3EC5-4904-BA61-5EE10BACE9D3" sourceRef="startEvent1" targetRef="TEST"></sequenceFlow> <endEvent id="sid-D289C3BC-9F1F-4D7E-9CA0-45A04FBE5B08"></endEvent> <sequenceFlow id="sid-2EA20C42-259E-47B8-9A50-149341DC0DCF" sourceRef="TEST" targetRef="sid-D289C3BC-9F1F-4D7E-9CA0-45A04FBE5B08"></sequenceFlow> <intermediateCatchEvent id="TEST" name="test"> <signalEventDefinition signalRef="asdf53452342"></signalEventDefinition> </intermediateCatchEvent> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_api-test-1"> <bpmndi:BPMNPlane bpmnElement="api-test-1" id="BPMNPlane_api-test-1"> <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"> <omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="sid-D289C3BC-9F1F-4D7E-9CA0-45A04FBE5B08" id="BPMNShape_sid-D289C3BC-9F1F-4D7E-9CA0-45A04FBE5B08"> <omgdc:Bounds height="28.0" width="28.0" x="240.0" y="164.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="TEST" id="BPMNShape_TEST"> <omgdc:Bounds height="30.0" width="30.0" x="169.0" y="163.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNEdge bpmnElement="sid-FC4903CD-3EC5-4904-BA61-5EE10BACE9D3" id="BPMNEdge_sid-FC4903CD-3EC5-4904-BA61-5EE10BACE9D3"> <omgdi:waypoint x="130.0" y="178.0"></omgdi:waypoint> <omgdi:waypoint x="169.0" y="178.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="sid-2EA20C42-259E-47B8-9A50-149341DC0DCF" id="BPMNEdge_sid-2EA20C42-259E-47B8-9A50-149341DC0DCF"> <omgdi:waypoint x="199.0" y="178.0"></omgdi:waypoint> <omgdi:waypoint x="240.0" y="178.0"></omgdi:waypoint> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>

Then I activate an instance of that process, and try to trigger the signal so that the token moves.

I’ve tried two ways to trigger the signal.

Option 1:
I go into the admin area, open up the associated event subscription, then press “trigger event”. My understanding is that this should cause the process token to move past the intermediate signal catching event. However, it does not cause any changes. The execution token remains at the intermediate signal catching event (as shown by its green color in the admin area’s process diagram view).

Option 2:
I tried throwing the signal using the REST API. It appears to send successfully, as I get a response back from flowable, however the token still does not move forward in the instance.

Here’s the JSON I send via PUT to runtime/executions/15008 (where 15008 is the execution id):
{"action":"signalEventReceived","signalName":"signaltest"}

Here’s the response I get from flowable:
{"id":"15008","url":"http://my.bpm.url:8080/flowable-rest/service/runtime/executions/15008","parentId":"15005","parentUrl":"http://my.bpm.url:8080/flowable-rest/service/runtime/executions/15005","superExecutionId":null,"superExecutionUrl":null,"processInstanceId":"15005","processInstanceUrl":"http://my.bpm.url:8080/flowable-rest/service/runtime/process-instances/15005","suspended":false,"activityId":"TEST","tenantId":""}

So my question is: how can I cause the token to move past the intermediate signal catching event?

What response status do you get from the PUT method?

Did you try passing the id of the signal instead of the name?

Check out my original post above for the response output.

Yes, it failed and showed error in the output. Also, I tried manually triggering the signal inside the admin area (as described above), and that should’ve avoided any issue with matching up correctly with the signal event - and that failed as well.