5.5.1
Table Of Contents
- Developing a Web Services Client for VMware vCenter Orchestrator
- Contents
- Developing Web Services Client for VMware vCenter Orchestrator
- Developing a Web Services Client
- Using the vCenter Orchestrator REST API
- Authenticating Against Orchestrator and Third-Party Systems
- Accessing the Reference Documentation for the Orchestrator REST API
- Using the Java REST SDK
- Operations with Workflows
- Working with Tasks
- Finding Objects in the Orchestrator Inventory
- Importing and Exporting Orchestrator Objects
- Deleting Orchestrator Objects
- Setting Permissions on Orchestrator Objects
- REST API Permissions
- Retrieve the Permissions of a Workflow
- Delete the Permissions of a Workflow
- Set the Permissions for a Workflow
- Retrieve the Permissions of an Action
- Delete the Permissions of an Action
- Set the Permissions for an Action
- Retrieve the Permissions of a Package
- Delete the Permissions of a Package
- Set the Permissions for a Package
- Retrieve the Permissions of a Resource
- Delete the Permissions of a Resource
- Set the Permissions for a Resource
- Retrieve the Permissions of a Configuration Element
- Delete the Permissions of a Configuration Element
- Set the Permissions for a Configuration Element
- Performing Operations with Plug-Ins
- Performing Server Configuration Operations
- Performing Tagging Operations
- Writing a Client Application for the Orchestrator SOAP Service
- Process for Creating an Orchestrator Web Service Client Application
- Web Service Endpoint
- Generating the Orchestrator Web Service Stubs
- Accessing the Server from Web Service Clients
- Create a Web Service Client
- Connect to the Orchestrator Web Service
- Find Objects in the Orchestrator Server
- Find Objects by Using the find Operation
- Find Objects by Using the findForId Operation
- Find Objects by Using the findRelation Operation
- Find Workflows in the Orchestrator Server
- Find Workflows by Using the getAllWorkflows Operation
- Retrieve the ID of a Workflow
- Find Workflows by Using the getWorkflowsWithName Operation
- Find Workflows by Using the getWorkflowForID Operation
- Run Workflows from a Web Service Client
- Interact with a Workflow While it Runs
- Obtain Workflow Results
- Time Zones and Running Workflows Through Web Services
- Web Service Application Examples
- Web Service API Object Reference
- Web Service API Operation Reference
- answerWorkflowInput Operation
- cancelWorkflow Operation
- echo Operation
- echoWorkflow Operation
- executeWorkflow Operation
- find Operation
- findForId Operation
- findRelation Operation
- getAllPlugins Operation
- getAllWorkflows Operation
- getWorkflowForId Operation
- getWorkflowInputForId Operation
- getWorkflowInputForWorkflowTokenId Operation
- getWorkflowsWithName Operation
- getWorkflowTokenBusinessState Operation
- getWorkflowTokenForId Operation
- getWorkflowTokenResult Operation
- getWorkflowTokenStatus Operation
- hasChildrenInRelation Operation
- hasRights Operation
- sendCustomEvent Operation
- simpleExecuteWorkflow Operation
- Index
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.
Procedure
1 Obtain the results of a running workflow by calling the getWorkflowTokenResult( ) operation.
The getWorkflowTokenResult( ) operation stores the results as an array of attributes.
WorkflowTokenAttribute[] retAttributes =
vsoWebControl.getWorkflowTokenResult(token.getId(),
username, password);
The preceding example code obtains the result of a workflow token with a specific identifier.
2 (Optional) Print the workflow results.
WorkflowTokenAttribute resultCode = retAttributes[0];
WorkflowTokenAttribute resultMessage = retAttributes[1];
System.out.println("Workflow output code ... (" + resultCode.getValue() + ")");
System.out.println("Workflow output message... (" + resultMessage.getValue() + ")");
Developing a Web Services Client for VMware vCenter Orchestrator
66 VMware, Inc.