-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.14.x, 7.15.x, 7.16.x, 7.17.0
Environment (Required on creation):
Tested with spring boot 7.14.6 but newer versions are also probably affected.
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):
The extension properties for an external event are not getting parsed correctly thus they are not available for the external clients.
For details see SUPPORT-12319.
Steps to reproduce (Required on creation):
Create a process with an external event and with extension properties defined to it. Subscribe with a client to the process and the extension properties for the event step will be null.
There is a working example in the support ticket.
Observed Behavior (Required on creation):
Extensions properties are null.
Expected behavior (Required on creation):
Extensions properties should be returned as defined in the bpmn process.
Root Cause (Required on prioritization):
Our BPMN parser only looks for extension properties for elements with type="external". In case of events this type is on the messageEventDefinition element but the extension properties are one level higher in the main event element. The activity during the execution is also the main event element (intermediateThrowEvent in the example) so moving the extensions into the messageEventDefinition or parsing the parent extensions wouldn't help either.
This is how extensions are structured for events:
<bpmn:intermediateThrowEvent id="Event_IntermediateEvent" name="Intermediate Event"> <bpmn:extensionElements> <camunda:properties> <camunda:property name="fooKey" value="fooValue" /> <camunda:property name="bla" value="1" /> </camunda:properties> </bpmn:extensionElements> <bpmn:incoming>Flow_0xpuwre</bpmn:incoming> <bpmn:outgoing>Flow_1u1j6b1</bpmn:outgoing> <bpmn:messageEventDefinition id="MessageEventDefinition_1fw23ho" messageRef="Message_1fy3zel" camunda:type="external" camunda:topic="test" /> </bpmn:intermediateThrowEvent>
Solution Ideas (Optional):
Hints (optional):
The parser should add the extensions to the activity representing the main event (intermediateThrowEvent, endEvent etc.).