Una tarea participante o puramente de usuario se ejecuta de forma asíncrona. Si se especifica un manejador de respuestas cuando se inicia la tarea, se devuelve automáticamente el mensaje de salida cuando se completa la tarea. Si no se especifica un manejador de respuestas, el mensaje debe recuperarse explícitamente.
Los resultados de la tarea sólo se almacenan en la base de datos si la plantilla de tarea de la que se ha derivado la instancia de tarea no especifica la supresión automática de las instancias de tarea derivadas.
El ejemplo muestra cómo comprobar el número de pedido de una tarea completada satisfactoriamente.
QueryResultSet result = task.query("DISTINCT TASK.TKIID", "TASK.NAME = 'CustomerOrder' AND TASK.STATE = TASK.STATE.STATE_FINISHED", null, null, null); if (result.size() > 0) { result.first(); TKIID tkiid = (TKIID) result.getOID(1); ClientObjectWrapper output = task.getOutputMessage(tkiid); DataObject myOutput = null; if ( output.getObject() != null && output.getObject() instanceof DataObject) { myOutput = (DataObject)output.getObject(); int order = myOutput.getInt("OrderNo"); } }