How can I send (correlate) a message from external task client?

Hello
How can I send (correlate) a message from external task client (written in java)?
Does the ExternalTaskClient (who can complete tasks and set variables) can also send messages to the engine?

Thanks in advance

External client can use http requests to camunda engine. Use rest api like /message

But for this I have to use some external Java library? There are no suitable wrapper methods in the ExternalTaskClient class, like those wrapping the REST Api for completing a task - externalTaskService.complete(externalTask) ?

Hey @jaxx,

the External Task Client only provides access to the External Task-related APIs. It is no general REST API client. You can easily generate a REST API client using our Open API description.

Cheers
Tobias

Hi @tmetzke
I downloaded the openapi.json file for Camunda 7.15.0
Using openapi-generator-cli I generated a client for Python.
However when I am testing the /message API I have a problem when I try to set process variable (Postman example below)

image

The client raises an error, because for the “value” I am passing a string “What time is it?” and according to the openapi schema, it expects an object (dictionary):

Is it normal that the “value” is described as an object instead of Oneof (string, integer, …) ?

Thanks in advance

Hey @jaxx,

thanks for that feedback. Sorry to hear that this creates an issue with the Python client. We did not experience that issue yet with other clients as far as I know - the Java client for example expects a java.lang.Object for that attribute. Looks like the “additionalProperties” attribute does not have the same impact as with other clients.

Would you mind creating an issue in our Issue Tracker?

Cheers,
Tobias

1 Like

Ok, thanks
I opened a Jira issue

Thanks, @jaxx :slight_smile: :+1:
For reference, the ticket is https://jira.camunda.com/browse/CAM-13624.
We will investigate the behavior as soon as we can depending on other priorities and commitments.

If you have any ideas or hints on how to mitigate the issue without introducing regressions for other languages’ clients, feel free to add them to the ticket or in the thread here.

Best,
Tobias