En este apartado se describe cómo implementar los principales casos de uso que se pueden dar en la integración con SNT
...
3.1.- Consulta de notificación por ID
En este ejemplo vamos a consultar una notificación a través de su ID. La ID la obtenemos en el momento de creación de la notificación en la respuesta del servicio.
notificationClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo de invocación |
---|
collapse | true |
---|
| Long id = 1385L; // ID de la notificación
ParamGetNotification paramGetNotification = new ParamGetNotification();
paramGetNotification.setNotificationId(id);
ResultGetNotification resultGetNotification = notificationClient.getNotification(paramGetNotification);
if(resultGetNotification!=null && resultGetNotification.getNotification()!=null){
System.out.println(resultGetNotification.getNotification().toString());
} else {
System.out.println("No se han encontrado resultados");
} |
|
...
3.2.- Consulta de notificaciones por filtro
En este ejemplo vamos a consultar una lista de notificaciones a través de filtros.
Se van a filtrar todas las notificaciones creadas por el usuario 00000000T en los dos días anteriores a la fecha actual.
notificationClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo de invocación |
---|
collapse | true |
---|
| // FILTROS
String creatorId = "00000000T";
Calendar calendar = Calendar.getInstance();
Calendar hoy = calendar; // Día actual
Calendar calendarAltered = Calendar.getInstance();
calendarAltered.add(Calendar.DATE, -2); // Se restan 2 días a la fecha actual
Calendar diaAnterior = calendarAltered;
ParamGetNotificationList paramGetNotificationList = new ParamGetNotificationList();
NotificationSearch notificationSearch = new NotificationSearch();
notificationSearch.setCreatorId(creatorId);
notificationSearch.setMaxNotificationDate(hoy);
notificationSearch.setMinNotificationDate(diaAnterior);
paramGetNotificationList.setNotificationSearch(notificationSearch);
ResultGetNotificationList resultGetNotification = notificationClient.getNotificationList(paramGetNotificationList);
if(resultGetNotification!=null && resultGetNotification.getNotificationList() != null && resultGetNotification.getNotificationList().length > 0){
for (Notification notification : resultGetNotification.getNotificationList()) {
System.out.println(notification.toString());
}
} else {
System.out.println("No se han encontrado resultados");
} |
|
...
En primer lugar realizaremos la creación del borrador:
communicationNTDraftClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo de código |
---|
collapse | true |
---|
| // objetos del servicio
ParamCreateCommunicationNTDraftWithOrganism paramCreateDraft = new ParamCreateCommunicationNTDraftWithOrganism();
ResultCreateCommunicationNTDraft resultCreateDraft;
// 1) SE INDICAN LOS RECEPTORES DE LA COMUNICACIÓN
//Se crea un receiver
DraftReceiver draftReceiver = new DraftReceiver();
draftReceiver.setReceiverId ("11111111H");
draftReceiver.setName("name");
draftReceiver.setSurname1("surname1");
draftReceiver.setSurname2("surname2");
draftReceiver.setAddress("address");
draftReceiver.setEmail("email@email.com");
// Se crea la lista de Receivers
DraftReceiver[] draftReceivers = new DraftReceiver[1];
draftReceivers[0] = draftReceiver;
// 2) SE INDICAN LOS DATOS ESPECÍFICOS DE LA COMUNICACIÓN
Data[] specificDataList=new Data[4];
specificDataList[0] = new Data(SNTClientConstants.PARAM_NAME_CSV_NOTIFICATION_EXTERNAL,"CSV0W0P5HO55JXXXYPFI"); // Indicamos el documento de la notificacion (obligatorio)
specificDataList[1] = new Data("CSV_Attached_1","CSV0W0P5HO55JXXXXPFI"); // Indicamos adjunto 1 (no obligatorio)
specificDataList[2] = new Data("CSV_Attached_2","CSV0W0P5HO55JXXXXPFI"); // Indicamos adjunto 2 (no obligatorio)
specificDataList[3] = new Data("keyA3","valueA3"); // Podemos indicar otros valores
// 3) SE INDICA EL ORGANISMO APORTADOR DE LA COMUNICACIÓN
Organism organism = new Organism();
organism.setCode("ORG14668");
// 4) SE INDICAN LOS ORGANISMOS GESTORES DE LA COMUNICACIÓN
// Se crea la lista de organismos gestores para que sea un borrador de tipo visibilidad compartida
// (si la lista estuviese vacía, la comunicación se crearía con visibilidad limitada)
OrganismVisibility[] organismVisibilities = new OrganismVisibility[1];
OrganismVisibility organismVisibility = new OrganismVisibility();
organismVisibility.setOrganismCode("ORG14668");
organismVisibility.setTipoRelacion("ORGANISMO_GESTOR");
organismVisibilities[0] = organismVisibility;
// 5) SE RELLENA EL OBJETO DRAFT
CommunicationNTDraftWithOrganism draftCreate = new CommunicationNTDraftWithOrganism();
draftCreate.setCreatorId("00000000T");
draftCreate.setDescription("20110224-01");
draftCreate.setOrganism(organism);
draftCreate.setSpecificDataList(specificDataList);
draftCreate.setDraftReceiversList(draftReceivers);
draftCreate.setContent("20110224-01");
draftCreate.setProcedure("1" );
draftCreate.setOrganismVisibilityList(organismVisibilities);
// Se rellena el objeto ParamCreateDraft
paramCreateDraft.setCommunicationNTDraft(draftCreate);
// 6) SE HACE LA INVOCACIÓN
try {
System.out.println("Se llama a SNT para crear el borrador...");
resultCreateDraft = communicationNTDraftClient.createCommunicationNTDraftWithOrganism(paramCreateDraft);
System.out.println("Fin llamada a SNT");
if(resultCreateDraft!=null && resultCreateDraft.getCommunicationNTDraftId()!=null){
System.out.println("Se creado correctamente el borrador, con ID: "+resultCreateDraft.getCommunicationNTDraftId());
return resultCreateDraft.getCommunicationNTDraftId();
}
} catch (SNTException e) {
System.out.println("Se ha producido un error en la creacion: ["+e.getCode()+"] "+e.getExtraInfo());
}
return null;
|
|
...
En este paso realizamos la emisión y registro del borrador
communicationNTDraftClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
title | Ejemplo de código |
---|
collapse | true |
---|
| //1) SE EMITE LA NOTIFICACION Y SE REALIZA ASIENTO REGISTRAL DE SALIDA
// Objetos del servicio
ParamSendRegisterCommunicationNTDraft paramIssueRegisterNotification = new ParamSendRegisterCommunicationNTDraft();
ResultSendRegisterCommunicationNTDraft result = new ResultSendRegisterCommunicationNTDraft();
// Se indica el Id de la solicitud a actualizar
paramIssueRegisterNotification.setCommunicationNTDraftId(actualizacionBorradorComunicacion());
// Se indica el emisor de la comunicacion
paramIssueRegisterNotification.setIssuerId("00000000T");
// Se indica el identificador de la persona invocante
paramIssueRegisterNotification.setInvokingId("00000000T");
// Se indica el organismo de registro de salida
paramIssueRegisterNotification.setOrganismRegister("ORG11335");
// 2) SE HACE LA INVOCACIÓN
try {
System.out.println("Se llama a SNT para emitir el borrador...");
result = communicationNTDraftClient.sendRegisterCommunicationNTDraft(paramIssueRegisterNotification);
System.out.println("Fin llamada a SNT");
if(result!=null && result.getCommunicationNTId()!=null){
System.out.println("Se creado correctamente la comunicación, con ID: "+result.getCommunicationNTId());
}
} catch (SNTException e) {
System.out.println("Se ha producido un error en el envío: ["+e.getCode()+"] "+e.getExtraInfo());
} |
|
...
5.1.- Consulta de comunicación por ID
En este ejemplo vamos a consultar una comunicación a través de su ID. La ID la obtenemos en el momento de creación de la comunicación en la respuesta del servicio.
communicationNTClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo de invocación |
---|
collapse | true |
---|
| Long id = 1411L; // ID de la comunicación
ParamGetCommunicationNT paramGetCommunicationNT = new ParamGetCommunicationNT();
paramGetCommunicationNT.setCommunicationNTId(id);
ResultGetCommunicationNT resultGetCommunication = communicationNTClient.getCommunicationNT(paramGetCommunicationNT);
if(resultGetCommunication!=null && resultGetCommunication.getCommunicationNT()!=null){
System.out.println(resultGetCommunication.getCommunicationNT().toString());
} else {
System.out.println("No se han encontrado resultados");
} |
|
...
5.2.- Consulta de comunicaciones por filtro
En este ejemplo vamos a consultar una lista de comunicaciones a través de filtros
Se van a filtrar todas las comunicaciones creadas por el usuario 00000000T en los dos días anteriores a la fecha actual.
communicationNTClient
hace referencia al cliente de borradores de notificaciones que se habrá configurado previamente siguiendo el ejemplo de Anexo I
Code Block |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo de invocación |
---|
collapse | true |
---|
| // FILTROS
String creatorId = "00000000T";
Calendar calendar = Calendar.getInstance();
Calendar hoy = calendar; // Día actual
Calendar calendarAltered = Calendar.getInstance();
calendarAltered .add(Calendar.DATE, -2); // Se restan 2 días a la fecha actual
Calendar diaAnterior = calendarAltered ;
ParamGetCommunicationNTList paramGetCommunicationList = new ParamGetCommunicationNTList();
CommunicationNTSearch notificationSearch = new CommunicationNTSearch();
notificationSearch.setCreatorId(creatorId);
notificationSearch.setMaxNotificationDate(hoy);
notificationSearch.setMinNotificationDate(diaAnterior);
paramGetCommunicationList.setCommunicationNTSearch(notificationSearch);
ResultGetCommunicationNTList resultGetNotification = communicationNTClient.getCommunicationNTList(paramGetCommunicationList);
if(resultGetNotification != null && resultGetNotification.getCommunicationNTList() != null && resultGetNotification.getCommunicationNTList().length > 0){
for (CommunicationNT communication : resultGetNotification.getCommunicationNTList()) {
System.out.println(communication.toString());
}
} else {
System.out.println("No se han encontrado resultados");
} |
|
6.- ANEXO I - Configuración del cliente
...
A continuación ofrecemos dos modos de configurar las instancias de los agentes de acceso
6.1.- Configuración del framework Spring y librerias Maven
...