4.0

Table Of Contents
3 Provide inputs from user interactions by calling the answerWorkflowInput operation.
If a workflow is waiting for user input in the waiting state, an application's event loop can specify that
input at any time. You can create WorkflowTokenAttribute arrays as normal, and then supply them to a
workflow during its run by using the answerWorkflowInput operation. The following example continues
the code from Step 2.
if ("waiting".equals(tokenStatus) == true) {
System.out.println("Answering user interaction");
WorkflowTokenAttribute[] attributes = new WorkflowTokenAttribute[2];
WorkflowTokenAttribute attribute = null;
attribute = new WorkflowTokenAttribute();
attribute.setName("param1");
attribute.setType("string");
attribute.setValue("answer1");
attributes[0] = attribute;
attribute = new WorkflowTokenAttribute();
attribute.setName("param2");
attribute.setType("number");
attribute.setValue("123");
attributes[1] = attribute;
vsoWebControl.answerWorkflowInput(token.getId(), attributes, username,
password);
}
In the preceding example, if the workflow is in the waiting state, the application creates two
WorkFlowTokenAttribute objects. The objects call the various WorkFlowTokenAttribute operations to obtain
the attribute values. The process then adds these WorkFlowTokenAttribute objects into a
WorkflowTokenAttribute array.
4 Cancel a workflow by calling the cancelWorkflow operation.
You can cancel a workflow at any time using the cancelWorkflow operation.
vsoWebControl.cancelWorkflow(workflowTokenId, username, password);
5 Check that the workflow canceled successfully.
Because the cancelWorkflow operation does not return anything, you must obtain the WorkflowToken status
to make sure the workflow canceled successfully, as the following code example shows.
String[] status = vsoWebControl.getWorkflowTokenStatus(tokenIds, username, password);
if ("canceled".equals(status) == true) {
System.out.println("Workflow canceled");
}
The Web service client interacts with workflows by finding their status, supplying input parameters from user
interactions, and by canceling the workflows.
What to do next
Implement operations in the Web services client to extract the workflow results.
Obtain Workflow Results
After the workflow completes its run, you can retrieve the results by calling the getWorkflowTokenResult( )
operation.
Prerequisites
You must have implemented how workflows start in the Orchestrator server in the Web services client.
vCenter Orchestrator Developer's Guide
260 VMware, Inc.