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

Invalid listener definition in .bpmn not catched in the deployment time

    • Icon: Bug Report Bug Report
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.12.0, 7.12.0-alpha5
    • 7.11.0
    • engine
    • None

      It is possible to create bpmn file by Modeler that contains this:

       <bpmn:exclusiveGateway id="ExclusiveGateway_0aw668v" name="IDs result" default="SequenceFlow_10nmw69">
                <bpmn:extensionElements>
                  <camunda:executionListener class="" event="start" />
                </bpmn:extensionElements>
      

      or this:

      <bpmn:sequenceFlow id="SequenceFlow_18trlp5" sourceRef="UserTask_verifyIDs" targetRef="ExclusiveGateway_0aw668v">
                <bpmn:extensionElements>
                  <camunda:executionListener class="" event="take" />
                </bpmn:extensionElements>
              </bpmn:sequenceFlow>
      

      Notice the empty class attribute. You can deploy this kind of bpmn, error happens at runtime.

        This is the controller panel for Smart Panels app

            [CAM-10837] Invalid listener definition in .bpmn not catched in the deployment time

            Hi Petr,

            thank you for reaching out to us with your question.

            I'll look into it and come back to you to share my insights with you.

            Stay tuned!

            Cheers,
            Tassilo

            Tassilo Weidner added a comment - Hi Petr, thank you for reaching out to us with your question. I'll look into it and come back to you to share my insights with you. Stay tuned! Cheers, Tassilo

            Hi Petr,

            thanks for your patience.

            What is the problem?

            • When a service task with empty class attribute is deployed, an exception occurs:
              ENGINE-09005 Could not parse BPMN process. Errors: 
              * One of the attributes 'class', 'delegateExpression', 'type', or 'expression' is mandatory on serviceTask.
              
            • When a user task with an execution listener is deployed and the listener type is class but the value is empty, no exception is thrown on deployment level
              • An exception is only thrown when executing the process

            This behavior seems to me not as user friendly as it could be so I have forwarded it for decision-making.

            Stay tuned!

            Cheers,
            Tassilo

            Tassilo Weidner added a comment - Hi Petr, thanks for your patience. What is the problem? When a service task with empty class attribute is deployed, an exception occurs: ENGINE-09005 Could not parse BPMN process. Errors: * One of the attributes 'class', 'delegateExpression', 'type', or 'expression' is mandatory on serviceTask. When a user task with an execution listener is deployed and the listener type is class but the value is empty, no exception is thrown on deployment level An exception is only thrown when executing the process This behavior seems to me not as user friendly as it could be so I have forwarded it for decision-making. Stay tuned! Cheers, Tassilo

            Hi Petr,

            Thanks for reporting this. As we are currently busy with other tasks, we will not prioritize a bug fix as of now. However, if you would like to contribute a bug fix, please let us know.

            Best regards,
            Thorben

            Thorben Lindhauer added a comment - Hi Petr, Thanks for reporting this. As we are currently busy with other tasks, we will not prioritize a bug fix as of now. However, if you would like to contribute a bug fix, please let us know. Best regards, Thorben

            Thorben Lindhauer added a comment - https://github.com/camunda/camunda-bpm-platform/pull/483

              thorben.lindhauer Thorben Lindhauer
              skacha Petr Škácha
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: