I am trying to trigger a CDAP workflow using ProgramClient API. Also, I want to pass runtime arguments before I trigger a program using programClient. Could you tell me how to achive this.
ClientConfig clientConfig = ClientConfig.builder()
.setConnectionConfig(new ConnectionConfig("shyam.domain", port, false))
.build();
ProgramClient pc = new ProgramClient(clientConfig);
Map<String,String> arguments= new HashMap<String, String>();
arguments.put(AppConstants.COLLECTION_NAME,"testCollection");
arguments.put(AppConstants.ENVIRONMENT,"SANDBOX");
arguments.put(AppConstants.NOVUS_ENVIRONMENT,"QED");
arguments.put(AppConstants.DISTRIBUTION_ID,"someId");
arguments.put(AppConstants.MAPPING_FILE_PATH,"mappingFileSample.csv");
pc.setRuntimeArgs(Id.Program.from("namespace", "applicationName", ProgramType.WORKFLOW, "workflowName"),arguments);
pc.start(Id.Program.from("namespace", "applicationName", ProgramType.WORKFLOW, "workflowName"));
Exception Information -
2016-07-29 13:58:44,665 - INFO [WorkflowDriver:c.c.c.i.a.r.w.WorkflowProgramController@98] - Workflow service failed from RUNNING. Un-registering service workflow.ecphumloga.ecpNovusBulkIngest.MainWorkflow.7c9e7901-5594-11e6-9cc4-f8bc123f63b0. java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.newInputStreamSupplier([B)Lcom/google/common/io/InputSupplier; at co.cask.common.http.HttpRequest$Builder.withBody(HttpRequest.java:166) ~[co.cask.common.common-http-0.7.1.jar:na] at co.cask.common.http.HttpRequest$Builder.withBody(HttpRequest.java:161) ~[co.cask.common.common-http-0.7.1.jar:na] at co.cask.cdap.client.ProgramClient.setRuntimeArgs(ProgramClient.java:630) ~[na:na] at com.trgr.ecp.platform.workflow.actions.MainAction.run(MainAction.java:45) ~[na:na] at co.cask.cdap.internal.app.runtime.workflow.CustomActionExecutor.runInTransaction(CustomActionExecutor.java:107) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.CustomActionExecutor.execute(CustomActionExecutor.java:82) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeCustomAction(WorkflowDriver.java:413) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeNode(WorkflowDriver.java:436) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeAll(WorkflowDriver.java:533) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.run(WorkflowDriver.java:521) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:52) ~[com.google.guava.guava-13.0.1.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
2016-07-29 13:58:44,674 - INFO [WorkflowDriver:c.c.c.i.a.r.w.WorkflowProgramController@100] - Service workflow.ecphumloga.ecpNovusBulkIngest.MainWorkflow.7c9e7901-5594-11e6-9cc4-f8bc123f63b0 unregistered.
2016-07-29 13:58:44,679 - ERROR [pcontroller-program:ecphumloga.ecpNovusBulkIngest.workflow.MainWorkflow-7c9e7901-5594-11e6-9cc4-f8bc123f63b0:c.c.c.i.a.r.d.AbstractProgramTwillRunnable@337] - Program runner error out. java.lang.NoSuchMethodError: com.google.common.io.ByteStreams.newInputStreamSupplier([B)Lcom/google/common/io/InputSupplier; at co.cask.common.http.HttpRequest$Builder.withBody(HttpRequest.java:166) ~[co.cask.common.common-http-0.7.1.jar:na] at co.cask.common.http.HttpRequest$Builder.withBody(HttpRequest.java:161) ~[co.cask.common.common-http-0.7.1.jar:na] at co.cask.cdap.client.ProgramClient.setRuntimeArgs(ProgramClient.java:630) ~[na:na] at com.trgr.ecp.platform.workflow.actions.MainAction.run(MainAction.java:45) ~[na:na] at co.cask.cdap.internal.app.runtime.workflow.CustomActionExecutor.runInTransaction(CustomActionExecutor.java:107) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.CustomActionExecutor.execute(CustomActionExecutor.java:82) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeCustomAction(WorkflowDriver.java:413) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeNode(WorkflowDriver.java:436) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeAll(WorkflowDriver.java:533) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.run(WorkflowDriver.java:521) ~[co.cask.cdap.cdap-app-fabric-3.4.1.jar:na] at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:52) ~[com.google.guava.guava-13.0.1.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
Thanks,
Shyam