In der Präsentation eines Workflows können Optionen für die Werte festgelegt werden, die Sie an die Eingabeparameter des Workflows übergeben, beispielsweise als vordefinierte Werteliste oder bestimmten Wertebereich. Um den erfolgreichen Ablauf des Workflows zu gewährleisten, müssen Sie die an die Eingabeparameter des Workflows übergebenen Werte anhand der Definition der Workflowpräsentation validieren.

Vorbereitungen

Überprüfen Sie, ob das Paket mit Beispiel-Workflows in Orchestrator importiert wurde. Das Paket ist in der ZIP-Datei mit Orchestrator-Beispielanwendungen enthalten, die Sie von der Orchestrator-Dokumentationsseite herunterladen können.

Warum und wann dieser Vorgang ausgeführt wird

Wenn Sie Workflows in benutzerdefinierte Anwendungen integrieren, müssen Sie vielleicht einen Assistenten für die Eingabe von Werten für die Eingabeparameter des Workflows bei seiner Ausführung erstellen. Mit dem Dienst für die Workflowpräsentation können Sie die Präsentation eines Workflows instanziieren und Werte für seine Eingabeparameter übergeben, die den unterschiedlichen Seiten des Assistenten entsprechen. Die an die Eingabeparameter übergebenen Werte werden anhand der in der Workflowpräsentation festgelegten Optionen validiert.

Prozedur

  1. Rufen Sie die Definition des auszuführenden Workflows ab, indem Sie eine GET-Anforderung unter der URL ausführen, die die Workflowdefinition enthält, ausführen.
    GET https://{Orchestrator_Host}:{Port}/vco/api/workflows/{workflowID}/

    Als Antwort auf die Anforderung erhalten Sie die Definition des Workflows. In der Workflowdefinition können Sie die Eingabeparameter des Workflows, die Workflow-Beschreibung und weitere Informationen anzeigen.

  2. Rufen Sie die Definition des Workflows ab, indem Sie eine GET-Anforderung unter seiner URL ausführen:
    GET https://{Orchestrator_Host}:{Port}/vco/api/workflows/{workflowID}/presentation/
  3. Im Hauptteil der Anforderungsantwort prüfen Sie die Definition der Workflowpräsentation auf Optionen für die Werte, die Sie an die Eingabeparameter übergeben können.

    So kann ein Eingabeparameter beispielsweise über eine vordefinierte Werteliste verfügen, aus der Werte ausgewählt werden.

  4. Instanziieren Sie die Workflowpräsentation durch Ausführen einer POST-Anforderung unter der URL der Präsentationsinstanzen:
    POST https://{Orchestrator_Host}:{Port}/vco/api/workflows/{workflowID}/presentation/instances/
  5. Geben Sie im Hauptteil der Anforderung ein execution-context-Element für die Instanziierung der Präsentation an.

    Sie können execution-context leer übergeben oder für execution-context Werte für einige der Eingabeparameter übergeben.

  6. Um für die Eingabeparameter in bestimmten Teilen Werte zu übergeben, führen Sie so viele POST- oder PUT-Anforderungen wie nötig unter der URL aus, die die Präsentationsinstanz enthält:
    PUT https://{Orchestrator_Host}:{Port}/vco/api/workflows/{workflowID}/presentation/instances/{executionID}/
  7. Prüfen Sie den Hauptteil der Antwort der von Ihnen gestellten POST- oder PUT-Anforderung.

    Wenn die von Ihnen an die Eingabeparameter übergebenen Werte gültig sind, sehen Sie bei dem Attribut valid="true" das Tag execution. Wenn die Präsentation gültig ist, können Sie die im out-parameters-Element der Antwort aufgelisteten Werte beim Ausführen des Workflows an die Eingabeparameter übergeben.

  8. Wenn die Werte für die Eingabeparameter gültig sind, führen Sie den Workflow aus, indem Sie eine POST-Anforderung unter der URL ausführen, die die Workflowausführungen enthält:
    POST https://{Orchestrator_Host}:{Port}/vco/api/workflows/{workflowID}/executions/
  9. Geben Sie die gültigen Werte für die Eingabeparameter des Workflows in einem execution-context-Element an.

Ausführen des Workflows „Send Hello“ durch Validieren seiner Eingabeparameter

Sie können den Workflow „Send Hello“ ausführen, indem Sie seine Eingabeparameter anhand der Definitionen seiner Präsentation validieren.

  1. Führen Sie eine GET-Anforderung unter der URL aus, die die Definition des Workflows „Send Hello“ enthält:

    GET https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/

    Sie erhalten die Workflowdefinition im Hauptteil der Antwortanforderung:

    <xml version="1.0" encoding="UTF-8" standalone="yes">
    <workflow xmlns="http://www.vmware.com/vco" customized-icon="false"
       href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/">
       <relations>
          <link rel="up"
              href="https://localhost:8281/vco/api/inventory/System/Workflows/Samples/HelloWorld/" />
          <link rel="add"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/" />
          <link rel="down"
      	       href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/tasks/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/icon/" />
       </relations>
       <input-parameters>
          <parameter name="name" type="string" />
       </input-parameters>
       <output-parameters>
          <parameter name="message" type="string" />
       </output-parameters>
       <name>Send Hello</name>
    	  <description></description>
    </workflow>
  2. Führen Sie eine GET-Anforderung unter der URL aus, die die Definition der Workflowpräsentation enthält:

    GET https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/
  3. Führen Sie eine POST-Anforderung unter der URL aus, die die Ausführungsinstanzen der Workflowpräsentation enthält:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/instances/ 

    Stellen Sie einen leeren execution-context bereit für die Instanziierung der Präsentation ohne Angabe von Werten für die Eingabeparameter:

    <execution-context xmlns="http://www.vmware.com/vco"/>

    Der Hauptteil der Antwort enthält Fehlermeldungen für jedes Feld darüber, dass die Werte für die Eingabeparameter ungültig sind.

    .......
    <fields>
      <field type="string" hidden="false" id="name">
        <display-name>name</display-name>
        <description>name</description>
        <messages>
           <message severity="ERROR" code="VCO-CNS0002">
              <Summary>
                    The minimum number of characters allowed for this field is 3.0
              </Summary>
           </message>
        </messages>
        <constraints>
           <number-range max="15.0" min="3.0" />
        </constraints>
    .......
  4. Führen Sie eine POST-Anforderung unter der URL aus, die die entsprechende Präsentationsinstanz enthält:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/instances/888080808080808080808080808080803F8080800132145338690643f66a027ec/

    Geben Sie im Hauptteil der Anforderung Werte für die Eingabeparameter an:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     <execution-context xmlns="http://www.vmware.com/vco">
      <parameters>
        <parameter name="name" type="string">
          <string>John Smith</string>
        </parameter>
      </parameters>
    </execution-context>

    Im Hauptteil der Anforderungsantwort können Sie prüfen, ob die Werte für die Eingabeparameter gültig sind:

    <execution started-by="vcoadmin" .... valid="true".....>
  5. Wenn die Präsentation gültig ist, führen Sie den Workflow aus, indem Sie eine POST-Anforderung unter der URL ausführen, die die Workflowausführungen enthält:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/

    Übergeben Sie im Hauptteil der Anforderung die Werte für die Eingabeparameter des Workflows. Verwenden Sie dieselben Werte, die als Ausgabeparameter der Workflowpräsentation zurückgegeben wurden, oder verwenden Sie direkt den Hauptteil der letzten POST-Anforderung, die Sie für die Workflowpräsentation ausgeführt haben.