Cannot correlate message between processes even though the process is awaiting properly

Hi, I’m new to Camunda and I’m trying to send and receive a message between different pools in my model. I have successfully sent a message, the problem is that I cannot seem to get the message back from the other process.
I’m keep getting the exception: .MismatchingMessageCorrelationException: Cannot correlate message ‘myMessage’: No process definition matches the parameters
Even though I have an awaiting process with a unique business key on an event which is waiting to this specific message:

Here is my calling code back to the process:
execution.getProcessEngineServices()
.getRuntimeService()
.createMessageCorrelation(‘myMessage’)
.processInstanceBusinessKey(businessProcessKey)
.correlate()

And my model looks like this:

Thanks for the help from advance.

Hi Oron,
could you please upload your BPMN? :slight_smile: I will gladly take a look at it :slight_smile:
Cheers.
Lukas

2 Likes

Are you sure you provide the correct search criteria? It seems to me that you use the businesskey method but provide the process key value. The names are very confusing here.

Hi, thanks for your replys.

@lhofer87 here is an example of the diagram more closer to my actual problem
New Diagram (1).bpmn (12.0 KB)

I have also tried to check with the exisiting processes API to see the status of the processes and I can only see the first top process (the one from with the user form) if I do not send tte message from the external API process, I can see the two processes up and running.

@fml2,I have sent the matching business key of the target process,I.e, I sent the internal (middle) process business key in the correlation message from the External API process.

Thank you very much

Another question would be: where do you have async points. If you don’t have any then the execution is done synchronously and the receive message is not executed yet hence there is no subscription.

1 Like

@fml2, I don’t have async points at the momen.
Where they should be places in my flow?

Hi @Oron_Cohen1,

Below post might be of help to you

Hi @Oron_Cohen1,

so in your case, you can call external api in parallel with receiving the message and tick asyncBefore for the call

1 Like

@hassangm, thank you very much! I got it working like this:
diagram_2.bpmn (7.2 KB)

Just wanted to make sure with you, is this a correct solution?
Or maybe I need to add another parallel gateway?

1 Like

Initially, I followed the pizza collaboration example described here: BPMN 2.0 Tutorial: Get started with Process Modeling - Camunda
Is there a chance that the ‘Pizza received’ event won’t triggered properly due to the missing parallel gateway?

Hi @Oron_Cohen,

Your model looks good.
No need to use a join gateway.