Ofrece un método para facilitar la obtención de respuestas de formularios de forma externa. La ruta a los servicios web de G·Forms es la siguiente:
$contexto_gforms$/seam/resources/rest/Answer
AnswerService answerService = new AnswerService("$contexto_gforms$/seam/resources/rest");
public class Answer {
private String question;
private String label;
private String externalId;
private Long register;
private String valor;
private String formulario;
private String version;
private Boolean oculta;
private String grupo;
/*
* Getters and Setters
*/
}
<answer>
<question></question>
<label></label>
<externalId></externalId>
<register></register>
<valor></valor>
<formulario></formulario>
<version></version>
<oculta></oculta>
<grupo></grupo>
</answer>
Devuelve una lista de objetos Answer según los parámetros de filtrado pasados. Todos los parámetros son opcionales pero hay que tener en cuenta que si no se especifica ninguno la cantidad de registros devueltos puede ser muy grande. La definición del método de consulta es la siguiente:
Invocación a través de gforms-ws-client
public Answers getAnswers(String externalId, String form, String questionId, String formVersion) throws GFormsWSException;
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Answer/query enviando el siguiente XML:
<answerFilter>
<formulario></formulario> <!-- Opcional -->
<externalId></externalId> <!-- Opcional -->
<question></question> <!-- Opcional -->
<version></version> <!-- Opcional -->
<oculta></oculta> <!-- Opcional -->
<questionsValues> <!-- Opcional -->
<name></name>
<value></value>
</questionsValues>
</answerFilter>
Existen múltiples combinaciones de filtros para la obtención de datos. A continuación se detallan las opciones de filtrado más comunes para este servicio.
Devuelve una lista objetos Answer pertenecientes a la instancia de formulario que se ha pasado por parámetro. En caso de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Answers answers = answerService.getAnswers("id_instancia", null, null, null);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Answer/query enviando el siguiente XML:
<answerFilter>
<externalId>id_instancia</externalId>
</answerFilter>
Devuelve una lista objetos Answer pertenecientes a las instancias del formulario que se ha pasado por parámetro. En caso de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Answers answers = answerService.getAnswers(null, "id_formulario", null, null);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Answer/query enviando el siguiente XML:
<answerFilter>
<formulario>id_formulario</formulario>
</answerFilter>
Devuelve una lista objetos Answer pertenecientes a las instancias del formulario que se ha pasado por parámetro y cuyo identificador sea el especificado por parámetro. En caso de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
Answers answers = answerService.getAnswers(null, "id_formulario", "id_pregunta", null);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Answer/query enviando el siguiente XML:
<answerFilter>
<question>id_pregunta</question>
</answerFilter>
Devuelve una lista objetos Answer pertenecientes a las instancias del formulario que se ha pasado por parámetro y cuyo identificador y valor sean los especificados por parámetros. En caso de error inesperado se lanzará una excepción GFormsWSException con la causa del error.
Invocación a través de gforms-ws-client
List<Property> props = new ArrayList<Property>();
Property prop = new Property("id_pregunta", "valor_pregunta");
props.add(prop);
Answers answers = answerService.getAnswers(null, "id_formulario", null, null, props);
Invocación REST
Se realizará una petición PUT a la url $contexto_gforms$/seam/resources/rest/Answer/query enviando el siguiente XML:
<answerFilter>
<formulario>id_formulario</formulario>
<questionsValues>
<name>id_pregunta</name>
<value>valor_pregunta</value>
</questionsValues>
</answerFilter>