Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

El servicio de consulta de un listado de detalles de las signaturas puede tener diversas aplicaciones puntuales. El ejemplo de invocación que se muestra a continuación será de utilidad para consultar los detalles filtrando por varias signaturas y un organismo productor de ejemplo.

Utilizando Java 8 , y GSON y la librería de cliente.


Code Block
languagejava
titleInvocación
// PASO 1: Establecer los parámetros de búsqueda
// Id de la aplicación que está accediendo a SEDA
String APPLICATION_ID = "XXX";

// Paso 2. Conectar
URL url = new URL("http://preaplicaciones.aragon.es/seda_core/rest/getSignatures?" +
        "applicationId=" + APPLICATION_ID + "&signatures=1,2,5&organismCodes=ORG99999");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/octet-stream");
connection.connect();

// Paso 3. Comprobar respuesta correcta
if (connection.getResponseCode() != 200) {
  // Gestionar respuesta incorrecta
}


// Paso 4. Recuperamos la respuesta del servicio en formato String
StringBuilder responseStrBuilder = new StringBuilder();
BufferedReader streamReader = new BufferedReader(
        new InputStreamReader(connection.getInputStream(), "UTF-8"));
String inputStr;
while ((inputStr = streamReader.readLine()) != null) {
  responseStrBuilder.append(inputStr);
}

// Paso 5. Configurar GSON para recuperar las fechas desde formato UNIX
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, (JsonDeserializer<Date>) (json, typeOfT, context) ->
        new Date(json.getAsJsonPrimitive().getAsLong()));
Gson gson = builder.create();

// Paso 6. Convertir la respuesta
JsonArray json = gson.fromJson(responseStrBuilder.toString(), JsonArray.class);
GetSignaturesResponse[] listServices = gson.fromJson(json, GetSignaturesResponse[].class);

// Paso 7. Desconectar
connection.disconnect();

 

...