My aim is very simple, to receive an intermediary message event after multiple event gateway and continue with service / user task. I use a rest controller to receive various calls from other systems, and trigger/propogate the information to process engine.
The problem is that the message never arrives / propagates. And the call returns the error
org.camunda.bpm.engine.MismatchingMessageCorrelationException: Cannot correlate message âEcmMessageArrivedâ:
No process definition or execution matches the parameters
The option to receive intermediate message events through rest-client of Camunda as shown in BPMN process communication is known to me but I want to trigger them from our rest controller (component in Spring) and it must be possible. What am I missing, what is the way to go here?
This part of the message might be where the problem is - if you add this the value of uuid must match the value of the business key in the waiting process instance. Is that the case?
So,
You have a process instance that has started in which the business key is set to a specific UUID.
You have a token waiting at the event based gateway.
Youâre sending the message via the Java API. how exactly are you sending it?
Hi Niall, we receive usual rest calls through our rest controller and trigger message correlation on the runtime service, hence implicitly âsendingâ messages.
Anyway, your previous assumption proved to be correct. I attached a listener to the message catch event and saw that it was called albeit there is the mentioned error. I crosschecked our web API that sends the rest call and apparently the âuuidâ formats differed between web API and the one used for business key.
Without
.processInstanceBusinessKey(uuid)
or with the correct âuuidâ the message propagates correctly. So the problem is solved. Thanks.
p.s. I must say though that the error message was misleading. The problem was simply that no process instance with that business key could be found.