Puede utilizar una biblioteca de SDK de Java para llamar a operaciones de la API de REST de Orchestrator en aplicaciones Java y trabajar directamente con objetos.

Cada servicio web RESTful del SDK de Orchestrator REST tiene una clase de ajuste de Java con métodos que corresponden a las operaciones que se pueden ejecutar mediante el servicio.

El SDK de Java REST se instala junto con Orchestrator. Los artefactos del SDK de Java REST están disponibles en las ubicaciones siguientes.

Nota:

Solo es posible acceder a los artefactos si se ha implementado Orchestrator Appliance.

  • https://host_orchestrator:puerto/vco-repo/com/vmware/o11n/o11n-rest-client/

  • https://host_orchestrator:puerto/vco-repo/com/vmware/o11n/o11n-rest-client-examples/

  • https://host_orchestrator:puerto/vco-repo/com/vmware/o11n/o11n-rest-client-services/

  • https://host_orchestrator:puerto/vco-repo/com/vmware/o11n/o11n-rest-client-stubs/

Ejecutar un flujo de trabajo y esperar a su finalización

El código de ejemplo siguiente ejecuta un flujo de trabajo y espera a que finalice.

//start a new session to Orchestrator by using specified credentials
VcoSession session = DefaultVcoSessionFactory.newLdapSession(new URI("https://orchestrator-server:8281/vco/api/"), "username", "password");

//create the services
WorkflowService workflowService = new WorkflowService(session);
ExecutionService executionService = new ExecutionService(session);

//find a workflow by ID
Workflow workflow = workflowService.getWorkflow("1231235");

//create an ExecutionContext from the user's input
ExecutionContext context = new ExecutionContextBuilder().addParam("name", "Jerry").addParam("age", 18).build();

//run the workflow
WorkflowExecution execution = executionService.execute(workflow, context);

//wait for the workflow to reach the user interaction state, checking every 500 milliseconds
execution = executionService.awaitState(execution, 500, 10, WorkflowExecutionState.CANCELED, WorkflowExecutionState.FAILED, WorkflowExecutionState.COMPLETED);

String nameParamValue = new ParameterExtractor().fromTheOutputOf(execution).extractString("name");
System.out.println("workflow was executed with 'name' input set to" + nameParamValue);