Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-14308

Extension properties are parsed incorrectly for external events

    XMLWordPrintable

Details

    Description

      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.).

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              thorben.lindhauer Thorben Lindhauer
              daniel.kelemen Daniel Kelemen
              Thorben Lindhauer Thorben Lindhauer
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce