Form failure: The context path is either empty or undefined

I have a spring boot application. I have added task-form.html in src/main/webapp/forms folder.

I have referenced the form as embedded form to a user task in bpmn as shown below.

<bpmn:userTask id="Task_1kw6h8b" name="Step1" camunda:formKey="embedded:app:forms/task-form.html" camunda:candidateGroups="MetadataScanningTeam">
      <bpmn:extensionElements>
        <camunda:executionListener delegateExpression="${ddmultiInstance}" event="end" />
      </bpmn:extensionElements>
      <bpmn:incoming>SequenceFlow_1war6r2</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_137ulpt</bpmn:outgoing>
    </bpmn:userTask>

When i initiate the process, for the corresponding user task, the form is not getting loaded. I am getting the error

Form failure : The context path is either empty or undefined.

Since it is spring boot application, do i need to reference the form differently? Any help is much appreciated.

Hi @ChandruM,

Do you have a custom context path defined? There was a bug related to this, which has recently been resolved with https://app.camunda.com/jira/browse/CAM-10187.

Best,
Nikola

@nikola.koevski, I do not have any context path defined. I am running it from http://localhost:8081/app/tasklist/

@ChandruM, in that case, one theory that I have is that you’re using the wrong reference type (https://docs.camunda.org/manual/7.11/user-guide/task-forms/#embedded-task-forms):

  • When using embedded:app: you’re supposed to use the @EnableProcessApplication annotation since this tells the engine that the form is stored in a separate archive deployed on the shared Process Engine. (this is how the behavior is defined for Shared Engine deployments).
  • If you’re working with a non ProcessApplication deployment, you should use embedded:deployment: since this tells the engine that the form is stored in the database.

If this doesn’t help, then I would ask if you can provide an example project that replicates the issue, so I can reproduce it on my side.

Best,
Nikola

2 Likes

Hi @ChandruM,

in spring-boot you should save the forms in the folder src/main/resources/static.

Hope this helps, Ingo

1 Like

Thank you @Ingo_Richtsmeier and @nikola.koevski.

I am still trying to fix this. The contextpath is always is null when fetching the form. I am not sure what i am missing. But i am trying to debug. Will get back if i am able to resolve the issue.

I was able to resolve the issue by doing the following steps.

1.) there is no src/main/webapp with spring boot applications, use src/main/resources/static

2.) for camunda to link the resource to the engine, you will need a process application. This is done easily by adding “@EnableProcessApplication” to your spring boot app.

3.) Autodeployment requires a src/main/resources/META-INF/processes.xml file, but you can leave it empty

Thanks you @nikola.koevski and @Ingo_Richtsmeier for your inputs which helped me to resolve the issue.

On the official documentation can we add the above information so that it might help the community?

Hi @ChandruM,

on each page of the documentation is an icon that links to the documentation source in github.

You can easily create a pull request with improvements.

Hope this helps, Ingo

1 Like