Correlation Problems - Async/Sync?

Hello Community, i have a problem with a specific part of my process application.

I am trying to correlate through the rest api, but i keep getting Ignoring MismatchingMessageCorrelationException, i have one possible workaround but i am not really understanding the source of the problem.

As you can see this is the part of my process that is causing headache.

The events have a listener and I am using the Rest API, the events are marked as async before.
If i correlate the message, i receive the following error:

Unknown property used in expression: ${callBackListener}. Cause: Cannot resolve identifier

So, i tried to put the listener’s to the sequence flow after the events → no difference.

Then i tried to remove the async before → no difference.

Then i marked them as async after and i was able to correlate with the rest api call.

But i do not understand why they should be marked as async after ? Can i do somethig better here ?

How is possible that the camunda engine is not able to resolve the listener ? The Rest-API is deployed separated from the Application containing the bpmn and the listeners. It’s like the listener tries to be executed in the context of the rest engine, that does not have the listeners, but it should only create the jobs to be executed in the database, so they can be picked up from the actual application.

Hi @gianluca1606

Did you find a solution for this?

BR
Michael

That’s exactly the way that C7 is documented to work, and why your Async-After works… Async-after tells the engine to stop trying to process the flow, and hand things back to the scheduler. In C7, the work plan is to continue working until an Async (either explicit or implicit). So the Rest Interface is going to try to keep working until an async. Your answer of “mark them async-after” is the correct one.

1 Like

Yes and no, marking them async and putting the listeners into the flows is at the moment not the whole/complete solution.

We have still one problem to be fixed. The listener inside the flow needs to access a local variable, since i am setting it though the rest api while correlating, the variable is only set for/in the correlation event and it is not inside the scope of the listener.

We can not set it as a process variable, since we are working on multi instances…

Does someone have any idea here?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.