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
3 Emit the workflow token's result attributes for display or for use by other applications.
for (int ii = 0; ii < retAttributes.length; ii++) {
System.out.println("\tName:'" + retAttributes[ii].getName()
+ "' - Type:'" + retAttributes[ii].getType()
+ "' - Value:'" + retAttributes[ii].getValue()
}
The preceding example code prints out the name, type, and value of the workflow token's result
attributes.
You defined a Web services client that finds objects in Orchestrator, runs workflows on them, interacts with
the running workflows, and extracts the results of running those workflows.
Time Zones and Running Workflows Through Web Services
Running workflows through Web services can lead to erroneous timestamping, if the run request comes
from an application running in a different time zone to the Orchestrator server.
If a workflow takes the time and date as an input parameter, and generates the time and date as output
when it runs, and if this workflow runs through a Web services application, the time and date sent as an
input parameter reflects the time and date of the system on which the Web services application is running.
The time and date that the workflow sends as its output reflects the time and date of the system on which
the Orchestrator server is running. If the Web services application is running in a different time zone than
the Orchestrator server, the time returned by the workflow does not match the time that the Web services
application provided as input when it called executeWorkflow or getWorkflowTokenResult.
To avoid this problem, you can create a function to compare dates in your Web services application. You
must serialize the date and time, taking the time zone information into account. The following Java code
example shows how to transform a String that Orchestrator returns into a Date object.
public Date dateFromString(String value){
java.text.DateFormat s_dateFormat = new java.text.SimpleDateFormat("yyyyMMddHHmmssZ");
Date date = null;
if (value != null && value.length() > 0) {
try {
date = s_dateFormat.parse(value);
} catch (ParseException e) {
System.err.println("Converting String to Date : ERROR");
date = null ;
}
}
return date;
}
Web Service Application Examples
Orchestrator provides working examples of Web services client applications that provide Web access to
Orchestrator.
You can download the Orchestrator examples ZIP file from the VMware vCenter Orchestrator
Documentation landing page.
Chapter 3 Writing a Client Application for the Orchestrator SOAP Service
VMware, Inc. 67