Status 404 when completing Zeebe User Task

Hello there,
I’m using Camunda 8.6.8 with Spring Boot and Zeebe Client SDK.

In Camunda modeler I have designed a User Task (Camunda User Task, not Job Worker) and I’m using Zeebe Client to complete those tasks. In local environment (Docker Compose), I have defined a rest-address for zeebe like this:

camunda:
  client:
    mode: self-managed
    zeebe:
      enabled: true
      rest-address: http://localhost:8088
      prefer-rest-over-grpc: false

and everything works fine.

On DEV server where I’m using the Self-Managed Camunda (Helm) of the same version, when trying to complete the user task I’m getting Status 404 - Not Found. My config is the following:

camunda:
  client:
    mode: self-managed
    auth:
      client-id: app
      client-secret: xxxx
      issuer: http://keycloak-headless.keycloak.svc.cluster.local:8080/auth/realms/camunda-platform
    zeebe:
      enabled: true
      rest-address: http://camunda-zeebe-gateway.camunda.svc.cluster.local:8080
      prefer-rest-over-grpc: false
      audience: zeebe-api
      grpc-address: http://camunda-zeebe-gateway.camunda.svc.cluster.local:26500

Additionally, I’m using multi-tenanancy. So, starting the process instance is working fine but completing the task is the only operation that is not working for some reason.

Task key that I’m using to complete the task is also correct and it’s matching with the user task key from ElasticSearch index.

Any idea what can be wrong here?
Thank you in advance!

Hi @heril.muratovic06
Can you share how you’re trying to complete the task?
Can you complete the same task using a REST API client like Postman?

Regards,
Alex

@heril.muratovic06 , Your worker application and camunda cluster setup are deployed in same cluster?

If not, then .svc.cluster.local won’t work if clusters are different for worker code and camunda cluster. But namespace can be different.

Ensure that the Zeebe REST API is accessible at the specified rest-address from your DEV server configuration (maybe a curl cmd)

At the end I’ve managed to fix this. The issue was that the zeebeGateway has defined the context path and in the rest-address of the zeebe client the prefix wasn’t defined.

Here is the config:

camunda:
  client:
    mode: self-managed
    auth:
      client-id: app
      client-secret: xxxx
      issuer: http://keycloak-headless.keycloak.svc.cluster.local:8080/auth/realms/camunda-platform
    zeebe:
      enabled: true
      rest-address: http://camunda-zeebe-gateway.camunda.svc.cluster.local:8080/zeebe
      prefer-rest-over-grpc: false
      audience: zeebe-api
      grpc-address: http://camunda-zeebe-gateway.camunda.svc.cluster.local:26500

The second issue was related with Camunda version 8.6.11 and I have found this link: Align gateway properties for Camunda application · Issue #30635 · camunda/camunda · GitHub

After adding the environment variable to Helm chart (zeebe) it was working just fine.

1 Like