Obtener el documento de resultados
Este apartado contiene las siguientes secciones:
•URI del documento de resultados
•Recuperar el documento de resultados
•Documento de resultados con los URI de los documentos de errores
•Documento de resultados con los URI de los documentos de salida
•Documento de resultados sin URI
•Acceder a los documentos de salida y de errores enumerados en el documento de resultados
URI del documento de resultados
Cada vez que se crea un trabajo se genera un documento de resultados, independientemente de si el resultado del trabajo (p. ej. un trabajo de validación) es positivo (el documento es válido) o negativo (el documento no es válido). En ambos casos se devuelve un mensaje 201 Creado. Este mensaje está en formato JSON y contiene el URI relativo del documento de resultados. Por ejemplo:
{
"result": "/v1/results/E6C4262D-8ADB-49CB-8693-990DF79EABEB",
"jobid": "E6C4262D-8ADB-49CB-8693-990DF79EABEB"
}
El objeto result contiene el URI relativo del documento de resultados. El URI es relativo a la dirección del servidor. Por ejemplo, si la dirección del servidor es http://localhost:8087/ (la dirección según la configuración inicial), el URI ampliado del documento de resultados anterior sería:
http://localhost:8087/v1/results/E6C4262D-8ADB-49CB-8693-990DF79EABEB
Nota: El número de versión correcto /vN es el que devuelve el servidor (y no necesariamente el que aparece en esta documentación). El número que devuelve el servidor es el número de versión de la API HTTP actual. Los números de versión antiguos indican versiones previas de la API HTTP, que se admiten para garantizar la compatibilidad con versiones previas.
Recuperar el documento de resultados
Para obtener el documento de resultados puede enviar el URI ampliado del documento (ver más arriba) en una solicitud HTTP GET. Se devuelve el documento de resultados, que puede ser de tres tipos (ver más abajo).
Nota: Si el trabajo se coloca en la cola del servidor, este devuelve el URI del documento de resultados. Si el cliente solicita el resultado antes de que comience el trabajo (si todavía está en la cola), se devuelve el mensaje "estado": "Distribuido". Si el trabajo se inició pero no terminó todavía (porque es un trabajo grande, por ejemplo), se devuelve el mensaje "estado": "En ejecución". En ambos casos, el cliente debe esperar un poco para volver a solicitar el documento de resultados.
Nota: en los ejemplos que aparecen a continuación se entiende que hay acceso de cliente restringido. Es decir, se entiende que los documentos de errores, mensajes y de salida se guardan en el directorio correspondiente del servidor. Los URI de estos documentos en el documento de resultados son, por tanto, URI relativos. Ninguno de ellos es un URI de archivo (como el que se generaría con acceso de cliente no restringido). Para más información consulte el siguiente apartado de esta sección: Obtener los documentos de errores/mensajes/salida.
Documento de resultados que contiene los URI de los documentos de errores
Si el trabajo solicitado terminó con el estado Failed, significa que el trabajo devolvió un resultado negativo. Por ejemplo, un trabajo de validación devuelve un resultado de documento no válido. Los errores detectados durante la ejecución del trabajo se almacenan en registros de errores, creados en tres formatos de archivo: (i) texto, (ii) XML largo (registro detallado) y (iii) XML corto (registro menos detallado). Véase el fragmento de código JSON más abajo.
{
"jobid": "6B4EE31B-FAC9-4834-B50A-582FABF47B58",
"state": "Failed",
"error":
{
"text": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/error.txt",
"longxml": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/long.xml",
"shortxml": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/short.xml"
},
"jobs":
[
{
"file": "file:///c:/Test/ExpReport.xml",
"jobid": "20008201-219F-4790-BB59-C091C276FED2",
"output":
{
},
"state": "Failed",
"error":
{
"text": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/error.txt",
"longxml": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/long.xml",
"shortxml": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/short.xml"
}
}
]
}
Tenga en cuenta que:
•Los trabajos tienen trabajos subordinados.
•Los errores de los trabajos subordinados se propagan al trabajo de nivel superior. Es decir, el estado del trabajo solamente puede ser OK si el de los trabajos subordinados también es OK.
•Cada trabajo y trabajo subordinado tiene su registro de errores.
•Los registros de errores incluyen advertencias. Es decir, incluso si el trabajo tiene el estado OK, puede tener URI de archivos de errores.
•Los URI de los archivos de errores son relativos a la dirección del servidor (ver más arriba).
Documento de resultados con los URI de los documentos de salida
Si el trabajo solicitado termina con el estado OK, el trabajo devuelve un resultado positivo. Por ejemplo, un trabajo de validación devolvió un resultado válido para el documento. Si el trabajo ha generado un documento de salida (por ejemplo, el resultado de una transformación XSLT), se devuelve el URI del documento de salida. Véase el fragmento de código JSON más abajo.
{
"jobid": "5E47A3E9-D229-42F9-83B4-CC11F8366466",
"state": "OK",
"error":
{
},
"jobs":
[
{
"file": "file:///c:/Test/SimpleExample.xml",
"jobid": "D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8",
"output":
{
"xslt-output-file":
[
"/v1/results/D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8/output/1"
]
},
"state": "OK",
"output-mapping":
{
"/v1/results/D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8/output/1": "file:///c:/temp/test.html"
},
"error":
{
}
}
]
}
Tenga en cuenta que:
•El archivo de salida se crea en la carpeta output del trabajo. Puede usar su URI relativo para acceder al archivo.
•Los URI de los archivos de salida son relativos a la dirección del servidor (ver más arriba).
•El elemento output-mapping asigna el documento de salida del directorio del trabajo del servidor a la ubicación de archivo especificada por el cliente en la solicitud. Tenga en cuenta que solo los documentos de salida especificados por el cliente en la solicitud del trabajo tienen una asignación. Los archivos relacionados con el trabajo generados por el servidor (como los archivos de errores) no tienen asignación.
•Como alternativa, es posible recuperar todos los documentos de resultados generados para un trabajo específico como un archivo zip utilizando la URL "/v1/results/JOBID/output/zip". Esta característica no está disponible en el modo unrestricted filesystem. Recuerde que el archivo ZIP incluirá nombres de archivo alterados, que deberán asignarse a los nombres reales con ayuda del objeto output-mapping.
Documento de resultados sin URI
Si el trabajo solicitado termina con el estado OK, el trabajo devuelve un resultado positivo. Por ejemplo, un trabajo de validación devolvió un resultado válido para el documento. Algunos trabajos, como los de validación o de comprobación de formato, no generan documentos de salida. Si un trabajo de este tipo finaliza con un estado OK, el documento de resultados no tendrá ni el URI de un documento de salida ni el URI de un registro de errores. Véase el fragmento de código JSON más abajo.
{
"jobid": "3FC8B90E-A2E5-427B-B9E9-27CB7BB6B405",
"state": "OK",
"error":
{
},
"jobs":
[
{
"file": "file:///c:/Test/SimpleExample.xml",
"jobid": "532F14A9-F9F8-4FED-BCDA-16A17A848FEA",
"output":
{
},
"state": "OK",
"error":
{
}
}
]
}
Tenga en cuenta que:
•Tanto los componentes de salida y de error del trabajo subordinado están vacíos en el ejemplo anterior.
•Un trabajo puede terminar con un estado OK, pero con advertencias y otro tipo de mensajes, que se registran en los archivos de errores. En este caso, el documento de resultados incluirá el URI de los archivos de errores, aunque el trabajo terminara con el estado OK.
Acceder a los documentos de salida y de errores enumerados en el documento de resultados
Puede acceder a los documentos de errores y de salida con solicitudes HTTP GET. Para más información consulte el siguiente apartado de esta sección: Obtener los documentos de errores, mensajes y salida.