<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
How to pass process variables to a process using REST API.
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/snowstormuser">snowstorm tech</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/797890#797890">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p> I am using <strong><span>"</span><a class="jive-link-external-small" href="http://localhost:8080//gwt-console-server/rs/process/definition/defaultPackage.TestProcess/new_instance" rel="nofollow" target="_blank">http://localhost:8080//gwt-console-server/rs/process/definition/defaultPackage.TestProcess/new_instance</a><span>"</span></strong> this REST API to run the process, I am able to run the process but not able to pass the variables througth this REST API.Following is code which I used to call this REST API.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <span style="color: #ff00ff;">  Java Code:</span></p><blockquote class="jive-quote"><p>import org.apache.commons.httpclient.*;</p><p>import org.apache.commons.httpclient.methods.GetMethod;</p><p>import org.apache.commons.httpclient.methods.PostMethod;</p><p>import org.jboss.bpm.console.client.model.*;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>import java.io.IOException;</p><p>import java.net.URLDecoder;</p><p>import java.net.URLEncoder;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>import org.jboss.soa.bpel.console.ModelAdaptor;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>import com.google.gson.*;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>public class ManagementClient {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    </p><p><span>    private static final String process_start_url = "</span><a class="jive-link-external-small" href="http://localhost:8080/gwt-console-server/rs/process/definition/defaultPackage.ProcessWV/new_instance" rel="nofollow" target="_blank">http://localhost:8080/gwt-console-server/rs/process/definition/defaultPackage.ProcessWV/new_instance</a><span>"; </span></p><p>  </p><p>    private String username;</p><p>    private String password;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    public ManagementClient(String u, String p) </p><p>    {</p><p>          username = u;</p><p>          password = p;</p><p>    }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>  public void startProcess() throws Exception</p><p>   {</p><p>  </p><p>      getDataFromService( process_start_url, "POST");</p><p>  </p><p>  }</p><p> private String getDataFromService(String urlpath, String method) throws Exception{</p><p>       HttpClient httpclient = new HttpClient();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       HttpMethod theMethod = null;</p><p>       StringBuffer sb = new StringBuffer();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       if ("GET".equalsIgnoreCase(method)) {</p><p>           theMethod = new GetMethod(urlpath);</p><p>       } else if ("POST".equalsIgnoreCase(method)) {</p><p>           </p><p>           theMethod = new PostMethod(urlpath);</p><p>         </p><p>       }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       if (username != null && password != null) {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>           try {</p><p>               httpclient.executeMethod(theMethod);</p><p><span style="font-size: 10pt;">                NameValuePair[] data2 = {new NameValuePair("Name", "shahid"), new NameValuePair("Age", "28")};</span></p><p>                theMethod.setQueryString(data2);</p><p>           } catch (IOException e) {</p><p>               e.printStackTrace();</p><p>           } finally {</p><p>               theMethod.releaseConnection();</p><p>           }</p><p>         PostMethod authMethod = new PostMethod(authentication_url);</p><p>         NameValuePair[] data = {new NameValuePair("j_username", username), new NameValuePair("j_password", password)};</p><p>         authMethod.setRequestBody(data);</p><p>         </p><p>           try {</p><p>               httpclient.executeMethod(authMethod);</p><p>           } catch (IOException e) {</p><p>               e.printStackTrace();</p><p>           } finally {</p><p>               authMethod.releaseConnection();</p><p>           }</p><p>       }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       try {</p><p>        </p><p>             NameValuePair[] data2 = {new NameValuePair("Name", "shahid"), new NameValuePair("Age", "28")};</p><p>         </p><p>             theMethod.setQueryString(data2);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>         httpclient.executeMethod(theMethod);</p><p>         sb.append(theMethod.getResponseBodyAsString());</p><p>         System.out.println("JSon Result: => " + sb.toString());</p><p>       return sb.toString();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       }catch (Exception e) {</p><p>          throw e;</p><p>       }finally {</p><p>         theMethod.releaseConnection();</p><p>       }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    }</p><p>public static void main(String[] args) throws Exception {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>       ManagementClient client = new ManagementClient("admin","admin");</p><p>        client.startProcess();</p><p>       client.processFormRender();</p><p>    }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></blockquote><p><span style="color: #ff00ff;"> Process BPMN:</span></p><p><span style="color: #ff00ff;"><br/></span><blockquote class="jive-quote"><p><?xml version="1.0" encoding="UTF-8"?></p><p><span><bpmn2:definitions xmlns:xsi="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a><span>" xmlns="</span><a class="jive-link-external-small" href="http://www.omg.org/bpmn20" rel="nofollow" target="_blank">http://www.omg.org/bpmn20</a><span>" xmlns:bpmn2="</span><a class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/20100524/MODEL" rel="nofollow" target="_blank">http://www.omg.org/spec/BPMN/20100524/MODEL</a><span>" xmlns:bpmndi="</span><a class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/20100524/DI" rel="nofollow" target="_blank">http://www.omg.org/spec/BPMN/20100524/DI</a><span>" xmlns:dc="</span><a class="jive-link-external-small" href="http://www.omg.org/spec/DD/20100524/DC" rel="nofollow" target="_blank">http://www.omg.org/spec/DD/20100524/DC</a><span>" xmlns:di="</span><a class="jive-link-external-small" href="http://www.omg.org/spec/DD/20100524/DI" rel="nofollow" target="_blank">http://www.omg.org/spec/DD/20100524/DI</a><span>" xmlns:drools="</span><a class="jive-link-external-small" href="http://www.jboss.org/drools" target="_blank">http://www.jboss.org/drools</a><span>" id="_6Jb3MHdrEeK6ToI0TrDnHQ" xsi:schemaLocation="</span><a class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/20100524/MODEL" rel="nofollow" target="_blank">http://www.omg.org/spec/BPMN/20100524/MODEL</a><span> BPMN20.xsd" targetNamespace="</span><a class="jive-link-external-small" href="http://www.omg.org/bpmn20" rel="nofollow" target="_blank">http://www.omg.org/bpmn20</a><span>"></span></p><p>  <bpmn2:itemDefinition id="_NameItem" structureRef="String"/></p><p>  <bpmn2:itemDefinition id="_AgeItem" structureRef="Integer"/></p><p>  <bpmn2:process id="defaultPackage.ProcessWV" drools:packageName="defaultPackage" name="ProcessWV" isExecutable="true"></p><p>    <bpmn2:property id="Name" itemSubjectRef="_NameItem"/></p><p>    <bpmn2:property id="Age" itemSubjectRef="_AgeItem"/></p><p>    <bpmn2:startEvent id="_B3399BEE-F15A-4DE7-A302-A10D0CCB2A14" drools:bgcolor="#9acd32" drools:selectable="true" name=""></p><p>      <bpmn2:outgoing>_3B1EC4FB-1459-4589-B014-203374D36A64</bpmn2:outgoing></p><p>    </bpmn2:startEvent></p><p><span>    <bpmn2:scriptTask id="_D306BBB0-A427-4DB6-A524-025AFB76D020" drools:selectable="true" name="Name/Age" scriptFormat="</span><a class="jive-link-external-small" href="http://www.java.com/java" rel="nofollow" target="_blank">http://www.java.com/java</a><span>"></span></p><p>      <bpmn2:incoming>_3B1EC4FB-1459-4589-B014-203374D36A64</bpmn2:incoming></p><p>      <bpmn2:outgoing>_6841C8EE-C23C-4116-959B-2AD64BDEE50F</bpmn2:outgoing></p><p>      <bpmn2:script><![CDATA[System.out.println("Name="+Name);]]></bpmn2:script></p><p>    </bpmn2:scriptTask></p><p>    <bpmn2:endEvent id="_8A6FF5AA-01EC-44B3-836B-0723F1372791" drools:bgcolor="#ff6347" drools:selectable="true" name=""></p><p>      <bpmn2:incoming>_6841C8EE-C23C-4116-959B-2AD64BDEE50F</bpmn2:incoming></p><p>    </bpmn2:endEvent></p><p>    <bpmn2:sequenceFlow id="_3B1EC4FB-1459-4589-B014-203374D36A64" drools:bgcolor="#000000" drools:selectable="true" sourceRef="_B3399BEE-F15A-4DE7-A302-A10D0CCB2A14" targetRef="_D306BBB0-A427-4DB6-A524-025AFB76D020"/></p><p>    <bpmn2:sequenceFlow id="_6841C8EE-C23C-4116-959B-2AD64BDEE50F" drools:bgcolor="#000000" drools:selectable="true" sourceRef="_D306BBB0-A427-4DB6-A524-025AFB76D020" targetRef="_8A6FF5AA-01EC-44B3-836B-0723F1372791"/></p><p>  </bpmn2:process></p><p>  <bpmndi:BPMNDiagram id="_6Jb3MXdrEeK6ToI0TrDnHQ"></p><p>    <bpmndi:BPMNPlane id="_6Jb3MndrEeK6ToI0TrDnHQ" bpmnElement="defaultPackage.ProcessWV"></p><p>      <bpmndi:BPMNShape id="_6Jb3M3drEeK6ToI0TrDnHQ" bpmnElement="_B3399BEE-F15A-4DE7-A302-A10D0CCB2A14"></p><p>        <dc:Bounds height="30.0" width="30.0" x="165.0" y="135.0"/></p><p>      </bpmndi:BPMNShape></p><p>      <bpmndi:BPMNShape id="_6Jb3NHdrEeK6ToI0TrDnHQ" bpmnElement="_D306BBB0-A427-4DB6-A524-025AFB76D020"></p><p>        <dc:Bounds height="80.0" width="100.0" x="285.0" y="90.0"/></p><p>      </bpmndi:BPMNShape></p><p>      <bpmndi:BPMNShape id="_6JceQHdrEeK6ToI0TrDnHQ" bpmnElement="_8A6FF5AA-01EC-44B3-836B-0723F1372791"></p><p>        <dc:Bounds height="28.0" width="28.0" x="384.0" y="205.0"/></p><p>      </bpmndi:BPMNShape></p><p>      <bpmndi:BPMNEdge id="_6JceQXdrEeK6ToI0TrDnHQ" bpmnElement="_3B1EC4FB-1459-4589-B014-203374D36A64"></p><p>        <di:waypoint xsi:type="dc:Point" x="180.0" y="150.0"/></p><p>        <di:waypoint xsi:type="dc:Point" x="244.0" y="150.0"/></p><p>        <di:waypoint xsi:type="dc:Point" x="244.0" y="130.0"/></p><p>        <di:waypoint xsi:type="dc:Point" x="335.0" y="130.0"/></p><p>      </bpmndi:BPMNEdge></p><p>      <bpmndi:BPMNEdge id="_6JceQndrEeK6ToI0TrDnHQ" bpmnElement="_6841C8EE-C23C-4116-959B-2AD64BDEE50F"></p><p>        <di:waypoint xsi:type="dc:Point" x="335.0" y="130.0"/></p><p>        <di:waypoint xsi:type="dc:Point" x="400.0" y="130.0"/></p><p>        <di:waypoint xsi:type="dc:Point" x="398.0" y="219.0"/></p><p>      </bpmndi:BPMNEdge></p><p>    </bpmndi:BPMNPlane></p><p>  </bpmndi:BPMNDiagram></p><p>  <bpmn2:relationship id="_6JceQ3drEeK6ToI0TrDnHQ"></p><p>    <bpmn2:extensionElements></p><p>      <drools:ProcessAnalysisData></p><p>        <drools:Scenario xsi:type="drools:Scenario" id="default" name="Simulationscenario"></p><p>          <drools:ScenarioParameters xsi:type="drools:ScenarioParameters_._type" baseTimeUnit="s"/></p><p>          <drools:ElementParameters xsi:type="drools:ElementParameters_._type" elementId="_B3399BEE-F15A-4DE7-A302-A10D0CCB2A14" id="_6JceRHdrEeK6ToI0TrDnHQ"></p><p>            <drools:TimeParameters xsi:type="drools:TimeParameters"></p><p>              <drools:WaitTime xsi:type="drools:Parameter"></p><p>                <drools:FloatingParameter value="0.0"/></p><p>              </drools:WaitTime></p><p>              <drools:TimeUnit>ms</drools:TimeUnit></p><p>            </drools:TimeParameters></p><p>          </drools:ElementParameters></p><p>          <drools:ElementParameters xsi:type="drools:ElementParameters_._type" elementId="_D306BBB0-A427-4DB6-A524-025AFB76D020" id="_6JceRXdrEeK6ToI0TrDnHQ"></p><p>            <drools:TimeParameters xsi:type="drools:TimeParameters"></p><p>              <drools:ProcessingTime xsi:type="drools:Parameter"></p><p>                <drools:RandomDistribution max="0.0" min="0.0"/></p><p>              </drools:ProcessingTime></p><p>              <drools:TimeUnit>ms</drools:TimeUnit></p><p>            </drools:TimeParameters></p><p>            <drools:CostParameters xsi:type="drools:CostParameters"></p><p>              <drools:UnitCost xsi:type="drools:Parameter"></p><p>                <drools:DecimalParameter value="0"/></p><p>              </drools:UnitCost></p><p>            </drools:CostParameters></p><p>          </drools:ElementParameters></p><p>          <drools:ElementParameters xsi:type="drools:ElementParameters_._type" elementId="_8A6FF5AA-01EC-44B3-836B-0723F1372791" id="_6JceRndrEeK6ToI0TrDnHQ"></p><p>            <drools:TimeParameters xsi:type="drools:TimeParameters"></p><p>              <drools:ProcessingTime xsi:type="drools:Parameter"></p><p>                <drools:RandomDistribution max="0.0" min="0.0"/></p><p>              </drools:ProcessingTime></p><p>              <drools:TimeUnit>ms</drools:TimeUnit></p><p>            </drools:TimeParameters></p><p>          </drools:ElementParameters></p><p>          <drools:ElementParameters xsi:type="drools:ElementParameters_._type" elementId="_6841C8EE-C23C-4116-959B-2AD64BDEE50F" id="_6JceR3drEeK6ToI0TrDnHQ"></p><p>            <drools:ControlParameters xsi:type="drools:ControlParameters"></p><p>              <drools:Probability xsi:type="drools:Parameter"></p><p>                <drools:FloatingParameter value="100.0"/></p><p>              </drools:Probability></p><p>            </drools:ControlParameters></p><p>          </drools:ElementParameters></p><p>          <drools:ElementParameters xsi:type="drools:ElementParameters_._type" elementId="_3B1EC4FB-1459-4589-B014-203374D36A64" id="_6JceSHdrEeK6ToI0TrDnHQ"></p><p>            <drools:ControlParameters xsi:type="drools:ControlParameters"></p><p>              <drools:Probability xsi:type="drools:Parameter"></p><p>                <drools:FloatingParameter value="100.0"/></p><p>              </drools:Probability></p><p>            </drools:ControlParameters></p><p>          </drools:ElementParameters></p><p>        </drools:Scenario></p><p>      </drools:ProcessAnalysisData></p><p>    </bpmn2:extensionElements></p><p>    <bpmn2:source>_6Jb3MHdrEeK6ToI0TrDnHQ</bpmn2:source></p><p>    <bpmn2:target>_6Jb3MHdrEeK6ToI0TrDnHQ</bpmn2:target></p><p>  </bpmn2:relationship></p><p></bpmn2:definitions></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></blockquote></p><p><span style="color: #ff00ff;">Process Image:</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="color: #ff00ff;"><a href="https://community.jboss.org/servlet/JiveServlet/showImage/2-797890-20313/defaultPackage.ProcessWV.png"><span> https://community.jboss.org/servlet/JiveServlet/downloadImage/2-797890-20313/450-276/defaultPackage.ProcessWV.png </span></a><br/></span></p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/797890#797890">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>