[jboss-user] [jBPM] - Re: Starting process instance using the jBPM REST API and setting parameters

snowstorm tech do-not-reply at jboss.com
Fri Feb 22 01:13:26 EST 2013


snowstorm tech [https://community.jboss.org/people/snowstormuser] created the discussion

"Re: Starting process instance using the jBPM REST API and setting parameters"

To view the discussion, visit: https://community.jboss.org/message/799005#799005

--------------------------------------------------------------
Hi  https://community.jboss.org/people/jmiguel77 Jose Miguel Loor,
 Use the following programme may be help you,

> 
> 
> import java.io.BufferedReader;
> import java.io.InputStream;
> import java.io.InputStreamReader;
> import java.nio.charset.Charset;
> import java.util.ArrayList;
> import java.util.HashMap;
> import java.util.List;
> import java.util.*;
> 
> 
> import org.apache.http.HttpResponse;
> import org.apache.http.NameValuePair;
> import org.apache.http.client.entity.UrlEncodedFormEntity;
> import org.apache.http.client.methods.HttpGet;
> import org.apache.http.client.methods.HttpPost;
> import org.apache.http.entity.mime.HttpMultipartMode;
> import org.apache.http.entity.mime.MultipartEntity;
> import org.apache.http.entity.mime.content.ContentBody;
> import org.apache.http.entity.mime.content.StringBody;
> import org.apache.http.impl.client.DefaultHttpClient;
> import org.apache.http.message.BasicNameValuePair;
> 
> 
> /*
>  * To change this template, choose Tools | Templates
>  * and open the template in the editor.
>  */
> 
> 
> /**
>  *
>  * @author Shahid
>  */
> public class StartProcessWV {
>      private static final String authentication_url = " http://localhost:8080/gwt-console-server/rs/identity/secure/j_security_check http://localhost:8080/gwt-console-server/rs/identity/secure/j_security_check";
>  //private static final String process_start_url = " http://localhost:8080/gwt-console-server/rs/process/definition/defaultPackage.ProcessWV/new_instance http://localhost:8080/gwt-console-server/rs/process/definition/defaultPackage.ProcessWV/new_instance";
>  private static final String process_start_url = " http://localhost:8080/gwt-console-server/rs/form/process/defaultPackage.ProcessWV/complete http://localhost:8080/gwt-console-server/rs/form/process/defaultPackage.ProcessWV/complete"; 
> 
>  private static final String render_form_url = " http://localhost:8080/gwt-console-server/rs/form/process/defaultPackage.ProcessWV/render http://localhost:8080/gwt-console-server/rs/form/process/defaultPackage.ProcessWV/render"; 
>      public static String KEY_USERNAME = "j_username";
> public static String KEY_PASSWORD = "j_password";
> private DefaultHttpClient httpClient = new DefaultHttpClient(); // keep this out of the method in order to reuse the object for calling other services without losing session
> public String authenticate(String address, String username, String password) {
>         String responseString = "";
>       //  new NameValuePair("j_username", username)
>         List<NameValuePair> formparams = new ArrayList<NameValuePair>();
>         formparams.add(new BasicNameValuePair(KEY_USERNAME, username));
>         formparams.add(new BasicNameValuePair(KEY_PASSWORD, password));
> 
>  HttpPost httpPost = new HttpPost( address );
>        // HttpPost httpPost = new HttpPost(" http:// http://" + address + "/gwt-console-server/rs/process/j_security_check");
>         InputStreamReader inputStreamReader = null;
>         BufferedReader bufferedReader = null;
>         try {
>             UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
>             //UrlEncodedFormEntity entity=new UrlEncodedFormEntity(formparams, "multipart/form-data");
>             httpPost.setEntity(entity);
>             HttpResponse response = httpClient.execute(httpPost);
>             InputStream inputStream = response.getEntity().getContent();
>             inputStreamReader = new InputStreamReader(inputStream);
>             bufferedReader = new BufferedReader(inputStreamReader);
>             StringBuilder stringBuilder = new StringBuilder();
>             String line = bufferedReader.readLine();
>          //   System.out.println("line==>"+line);
>             while (line != null) {
>                 stringBuilder.append(line);
>                 line = bufferedReader.readLine();
>             }
>             responseString = stringBuilder.toString();
>         } catch (Exception e) {
>             //throw new RuntimeException(e);
>             System.out.println("e = " + e);
>         } finally {
>             if (inputStreamReader != null) {
>                 try {
>                     inputStreamReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>             if (bufferedReader != null) {
>                 try {
>                     bufferedReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>         }
>         return responseString;
>     }
> public String requestPostService(String url, Map<String, Object> parameters, boolean multipart) {
>         String responseString = "";
> 
>         MultipartEntity multiPartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
>         List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>();
>         if (parameters == null) {
>             parameters = new HashMap<String, Object>();
>         }
>         Set<String> keys = parameters.keySet();
>         for (Iterator<String> keysIterator = keys.iterator(); keysIterator.hasNext();) {
>             String keyString = keysIterator.next();
>             String value = parameters.get(keyString).toString();
>             formparams.add(new BasicNameValuePair(keyString, value));
>             if (multipart) {
>                 try {
>                     StringBody stringBody = new StringBody(value, Charset.forName("UTF-8"));
>                     //System.out.println(stringBody.);
>                     multiPartEntity.addPart(keyString, (ContentBody) stringBody);
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>         }
>         HttpPost httpPost = new HttpPost(url);
> 
>         InputStreamReader inputStreamReader = null;
>         BufferedReader bufferedReader = null;
>         try {
>             if (multipart) {
>                 httpPost.setEntity(multiPartEntity);
>             } else {
>                 UrlEncodedFormEntity entity =new UrlEncodedFormEntity(formparams, "UTF-8");// new UrlEncodedFormEntity(formparams, "multipart/form-data");
>                 ////
>                 httpPost.setEntity(entity);
>             }
>             HttpResponse response = httpClient.execute(httpPost);
>             InputStream inputStream = response.getEntity().getContent();
>             inputStreamReader = new InputStreamReader(inputStream);
>             bufferedReader = new BufferedReader(inputStreamReader);
>             StringBuilder stringBuilder = new StringBuilder();
>             String line = bufferedReader.readLine();
>             while (line != null) {
>                 stringBuilder.append(line);
>                 line = bufferedReader.readLine();
>             }
>             responseString = stringBuilder.toString();
>         } catch (Exception e) {
>             throw new RuntimeException(e);
>         } finally {
>             if (inputStreamReader != null) {
>                 try {
>                     inputStreamReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>             if (bufferedReader != null) {
>                 try {
>                     bufferedReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>         }
>         return responseString;
> }
> public String requestGetService(String url, Map<String, Object> parameters, boolean multipart) {
>         String responseString = "";
> 
> 
> 
>         HttpGet httpGet = new HttpGet(url);
> 
>         InputStreamReader inputStreamReader = null;
>         BufferedReader bufferedReader = null;
>         try {
> 
>             HttpResponse response = httpClient.execute(httpGet);
>             InputStream inputStream = response.getEntity().getContent();
>             inputStreamReader = new InputStreamReader(inputStream);
>             bufferedReader = new BufferedReader(inputStreamReader);
>             StringBuilder stringBuilder = new StringBuilder();
>             String line = bufferedReader.readLine();
>            // System.out.println("line = " + line);
>             while (line != null) {
>                 stringBuilder.append(line);
>                 line = bufferedReader.readLine();
>             }
>             responseString = stringBuilder.toString();
>         } catch (Exception e) {
>             throw new RuntimeException(e);
>         } finally {
>             if (inputStreamReader != null) {
>                 try {
>                     inputStreamReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>             if (bufferedReader != null) {
>                 try {
>                     bufferedReader.close();
>                 } catch (Exception e) {
>                     throw new RuntimeException(e);
>                 }
>             }
>         }
>         return responseString;
> }
> public static  void main(String args[])
> {
>     StartProcessWV startProcessWV=new StartProcessWV();
>      Map map=new HashMap();
>     map.put("name", "Shahid Iqbal");
>   //  map.put("age", "29");
>     System.out.println("Login Form==> "+startProcessWV.requestGetService(render_form_url, null, true));
> 
>    System.out.println(startProcessWV.authenticate(authentication_url, "admin", "admin")+"\n");
>   System.out.println("Render Form==> "+startProcessWV.requestGetService(render_form_url, null, true)+"\n");
>    System.out.println("Process start Output==> "+startProcessWV.requestPostService(process_start_url, map, true));
> 
> }
> }
> 
please change the process id and your process should have the process form.

I hope so it will helpfull for you.
Sorry for my english
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/799005#799005]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130222/1901f80b/attachment-0001.html 


More information about the jboss-user mailing list