Ursprüngliche Task starten, die eine synchrone Schnittstelle aufruft

Anlass und Zeitpunkt für die Ausführung dieser Task

Ursprüngliche Tasks, die eine synchrone Schnittstelle aufrufen, umfassen integrierte ursprüngliche Tasks in einem Mikroprozess, eigenständige ursprüngliche Tasks in einem Mikroprozess und ursprüngliche Tasks, die beispielsweise eine einfache Java-Klasse starten.

In diesem Szenario wird eine Instanz einer Taskschablone erstellt, und es werden einige Kundendaten übergeben. Die Task bleibt so lange im aktiven Status, bis die bidirektionale Operation zurückgegeben wird. Das Ergebnis der Task (Bestellnr) wird an den Aufrufenden zurückgegeben.

Erforderliche Schritte für diese Task

  1. Optional: Listen Sie die Taskschablonen auf, um den Namen der ursprünglichen Task zu finden, die Sie ausführen möchten.

    Dieser Schritt ist optional, wenn Sie den Namen der Task bereits kennen.

    TaskTemplate[] taskTemplates = task.queryTaskTemplates
    ("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_ORIGINATING",
     "TASK_TEMPL.NAME",
      new Integer(50),
      null);

    Die Ergebnisse sind nach dem Namen sortiert. Die Abfrage gibt eine Matrix mit den ersten 50 sortierten ursprünglichen Schablonen zurück.

  2. Erstellen Sie eine Eingabenachricht des passenden Typs.
    TaskTemplate template = taskTemplates[0];
    
    // Erstellen einer Nachricht für die ausgewählte Task
    ClientObjectWrapper input = task.createInputMessage( template.getID());                       
    DataObject myMessage = null ;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      // Festlegen der Teile in der Nachricht (z. B. ein Kundenname)
      myMessage.setString("Kundenname", "Schmidt");
    }
  3. Erstellen Sie die Task, und führen Sie sie synchron aus.

    Für eine Task, die synchron ausgeführt werden soll, ist eine bidirektionale Operation erforderlich. In dem Beispiel wird eine createAndCallTask-Methode zum Erstellen und Ausführen der Task verwendet.

    ClientObjectWrapper output = task.createAndCallTask( template.getName(), 
                                                         template.getNamespace(),
                                                         input);
  4. Analysieren Sie das Ergebnis der Task.
    DataObject myOutput = null;
    if ( output.getObject() != null && output.getObject() instanceof DataObject )
    {
      myOutput  = (DataObject)output.getObject();
      int order = myOutput.getInt("Bestellnr");
    }
Zugehörige Konzepte
Abfragen für Business-Prozessobjekte und taskbezogene Objekte

Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

(c) Copyright IBM Corporation 2005.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)