1 Reply Latest reply on Apr 22, 2013 1:51 PM by sclaggett

    How to start a process with parameters when there is no associated form?

    sclaggett

      What is the proper way to programmatically start a jBPM process with parameters using the REST API when the workflow has no form associated with it? I've managed to get authentication working thanks to the this example, so I'm ready to kick off a workflow. Other posts on this forum point to two different methods to starting a process with parameters:

       

      1. For processes that have forms associated with them, the posts here and here describe a method to start the process using the REST API (the gist being to render the form first, then programmatically complete it to start the process).
      2. For processes that don't have forms associated with then, an older post here recommends modifying ProcessMgmtFacade.java to add a new REST endpoint that accepts process parameters.

       

      Method #1 fails with the following exception if no form is associated with the process:

       

      Servlet.service() for servlet Resteasy threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: No UI associated with PROCESS defaultPackage.TestingTaskAssignment

       

      Method #2 may work but modifying a third-party library seem like a hack and makes me wonder if I'm approaching the problem incorrectly. What would you recommend as a solution?

       

      Thank you,

      Shane

       

      P.S. I'm currently running jBPM 5.4.0.Final in JBoss 7.

        • 1. Re: How to start a process with parameters when there is no associated form?
          sclaggett

          I figured I should answer my own question in hopes that it will help someone else in the future.

           

          So, how should one start a process with parameters when there is no form?

           

          The short answer: Don't. Create a form.

           

          The longer answer: Although creating a form for a process that will always be started programmatically might seem unnecessary, it turns out to be the easiest and cleanest solution that I've found. The jBPM designer even has a handy little icon that will create a default form for you based on the process parameters. The system appears to have primarily been designed for use by humans, hence the techniques for authenticating and starting a process programmatically seem clunky. However, doing so as described in the above links works well and doesn't require hacking a third-party library.

           

          Shane