Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

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
languagejava
firstline1
titleEjemplo de invocación
collapsetrue
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
languagejava
firstline1
titleEjemplo de invocación
collapsetrue
// 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
languagejava
firstline1
titleEjemplo de código
collapsetrue
// 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
languagejava
titleEjemplo de código
collapsetrue
//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
languagejava
firstline1
titleEjemplo de invocación
collapsetrue
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
languagejava
firstline1
titleEjemplo de invocación
collapsetrue
// 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
Anchor
anexoI
anexoI

...

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

...