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
Prerequisites
Verify that you have imported the sample workflows package in Orchestrator. The package is included in
the Orchestrator sample applications ZIP file that you can download from the Orchestrator documentation
page.
Procedure
1 Retrieve the definition of the workflow that you want to run by making a GET request at the URL that
contains the workflow definition:
GET https://{vcoHost}:{port}/vco/api/workflows/{workflowID}/
You receive the definition of the workflow in the response body of the request. In the workflow
definition, you can view the input parameters of the workflow, the workflow description and other
information.
2 Retrieve the definition of the workflow presentation by making a GET request at its URL:
GET https://{vco host}:{port}/vco/api/workflows/{workflowID}/presentation/
3 In the response body of the request, examine the definition of the workflow presentation for any
constraints of the values that you can pass to the input parameters.
For example, an input parameter can have a predefined list of values to choose from.
4 Instantiate the workflow presentation by making a POST request at the URL of the presentation
instances:
POST https://{vcoHost}:{port}/vco/api/workflows/{workflowID}/presentation/instances/
5 Provide an execution-context element in the request body to instantiate the presentation.
You can pass an empty execution-context or pass an execution-context with values only for some of
the input parameters.
6 To pass values to the input parameters in parts, make as many POST or PUT requests as needed at the
URL that holds the presentation instance:
PUT https://{vcoHost}:
{port}/vco/api/workflows/{workflowID}/presentation/instances/{executionID}/
7 Review the response body of the POST or PUT request that you made.
If the values that you passed to the input parameters are valid, you find a valid="true" attribute in the
execution tag. If the presentation is valid, you can take the values that are listed in the out-parameters
element of the response, and pass them as values to the input parameters when you run the workflow.
8 If the values for the input parameters are valid, run the workflow by making a POST request at the URL
that holds the workflow executions:
POST https://{vcoHost}:{port}/vco/api/workflows/{workflowID}/executions/
9 Provide the valid values to the input parameters of the workflow in an execution-context element.
Example: Run the Send Hello Workflow by Validating Its Input Parameters
You can run the Send Hello workflow by validating its input parameters against the definitions of its
presentation.
1 Make a GET request at the URL that holds the definition of the Send Hello workflow:
GET https://localhost:
8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/
Developing a Web Services Client for VMware vCenter Orchestrator
20 VMware, Inc.