4.- Servicios de SNT

4.- Servicios de SNT

 

El dato específico CSV_Access ya no se devuelve

Servicios DraftService

Servicios de gestión de notificaciones en estado borrador

 

Método 'createDraft@deprecated



Inicia el proceso de alta de una notificación creando para ello un borrador en el sistema con los metadatos asociados a la notificación.

A la hora de crear un borrador tenemos que tener en cuenta la visibilidad. Todos los borradores creados con este método se crearán con visibilidad compartida y el organismo gestor será el indicado en el campo organismo.

Método deprecado, es recomendable usar el servicio → createDrafwithOrganism() para gestionar de manera específica la visibilidad de las notificaciones.

Información

Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama.
Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.

Signatura

ResultCreateDraft createDraft (String applicationId, ParamCreateDraft paramCreateDraft) throws RemoteException, InternalCoreException

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamCreateDraft

Objeto de creación de borrador

draft

Draft

Objeto solicitud

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultCreateDraft

Objeto de resultado de creación de borrador

draftId

String

Identificador del borrador creado

Ejemplo de invocación

 

Ejemplo de invocación
//objetos del servicio ParamCreateDraft paramCreateDraft = new ParamCreateDraft(); ResultCreateDraft resultCreateDraft; //Se crea un receiver DraftReceiver draftReceiver = new DraftReceiver(); draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion 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; //Se crea la lista de datos específicos Data[] specificDataList=new Data[3]; specificDataList[0] = new Data("keyA1","valueA1"); specificDataList[1] = new Data("keyA2","valueA2"); specificDataList[2] = new Data("keyA3","valueA3"); //Se crea el organismo asociado Organism organism = new Organism(); organism.setCode("ORG14668"); organism.setName("Departamento de Economía y Hacienda"); //Se rellena el objeto Draft Draft draftCreate = new Draft(); draftCreate.setDossier("20110224-01"); // expediente draftCreate.setCreatorId("11111111H"); draftCreate.setDescription("20110224-01"); draftCreate.setOrganism(organism); draftCreate.setSpecificDataList(specificDataList); draftCreate.setDraftReceiversList(draftReceivers); draftCreate.setExpireTime(new Integer(10)); draftCreate.setContent("20110224-01"); draftCreate.setProcedure("1"); //Se rellena el objeto ParamCreateDraft paramCreateDraft.setDraft(draftCreate); //Se hace la invocación try { resultCreateDraft = draftClient.createDraft(paramCreateDraft); System.out.println(resultCreateDraft.getDraftId()); } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

 

Método 'createDraftWithOrganism'



Inicia el proceso de alta de una notificación creando para ello un borrador en el sistema con los metadatos asociados a la notificación

A la hora de crear un borrador tenemos que tener en cuenta la visibilidad. Si se quiere crear un borrador con visibilidad compartida tenemos que asignarle la lista de organismos (organismVisibilityList). Si no asignamos la lista de organismos, el borrador se creará con visibilidad limitada.

En la lista de visibilidad de organismos solamente hay que pasar los organismos gestores ya que el organismo productor se obtiene automáticamente por código.

 

Información

Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama.
Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.

Signatura

ResultCreateDraft createDraftWithOrganism (String applicationId ParamCreateDraftWithOrganism paramCreateDraft) throws RemoteException, InternalCoreException

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

paramUpdateDraft

Objeto de creación de borrador

draftWithOrganism

DraftWithOrganism

Objeto solicitud

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultCreateDraft

Objeto de resultado de creación de borrador

draftId

String

Identificador del borrador creado

Ejemplo de invocación

En este ejemplo vamos a crear una notificación con visibilidad compartida, ya que vamos a indicar una lista de organismos gestores.

Ejemplo de invocación
//objetos del servicio ParamCreateDraftWithOrganism paramCreateDraft = new ParamCreateDraftWithOrganism(); ResultCreateDraft resultCreateDraft; //Se crea un receiver DraftReceiver draftReceiver = new DraftReceiver(); draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion draftReceiver.setName("name"); draftReceiver.setSurname1("surname1"); draftReceiver.setSurname2("surname2"); draftReceiver.setAddress("address"); draftReceiver.setEmail("email@email.com"); //se podrán añadir más de una dirección separadas por ; //Se crea la lista de Receivers DraftReceiver[] draftReceivers = new DraftReceiver[1]; draftReceivers[0] = draftReceiver; //Se crea la lista de datos específicos Data[] specificDataList=new Data[3]; specificDataList[0] = new Data("keyA1","valueA1"); specificDataList[1] = new Data("keyA2","valueA2"); specificDataList[2] = new Data("keyA3","valueA3"); //Se crea el organismo asociado Organism organism = new Organism(); organism.setCode("ORG14668"); organism.setName("Departamento de Economía y Hacienda"); //Se rellena el objeto Draft DraftWithOrganism draftCreate = new DraftWithOrganism(); draftCreate.setDossier("20110224-01"); // expediente draftCreate.setCreatorId("11111111H"); // creador de la notificación draftCreate.setDescription("20110224-01"); draftCreate.setOrganism(organism); draftCreate.setSpecificDataList(specificDataList); draftCreate.setDraftReceiversList(draftReceivers); draftCreate.setExpireTime(new Integer(10)); draftCreate.setContent("20110224-01"); draftCreate.setProcedure("1"); // procedimiento de la notificación //lista de organismos gestores para la visibilidad compartida (si no se asigna la lista se creará con visibilidad limitada) OrganismVisibility[] organismVisibilities = new OrganismVisibility[2]; OrganismVisibility organismVisibility = new OrganismVisibility(); organismVisibility.setOrganismCode("ORG14668"); organismVisibility.setTipoRelacion(SNTClientConstants.ORG_GESTOR); organismVisibilities[0] = organismVisibility; organismVisibility = new OrganismVisibility(); organismVisibility.setOrganismCode("ORG12358"); organismVisibility.setTipoRelacion(SNTClientConstants.ORG_GESTOR); organismVisibilities[1] = organismVisibility; draftCreate.setOrganismVisibilityList(organismVisibilities); //Se rellena el objeto ParamCreateDraft paramCreateDraft.setDraft(draftCreate); //Se hace la invocación try { resultCreateDraft = draftClient.createDraftWithOrganism(paramCreateDraft); System.out.println(resultCreateDraft.getDraftId()); } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

En este ejemplo vamos a crear una notificación con visibilidad limitada, ya que vamos a indicar una lista vacía de organismos gestores.

Ejemplo de invocación
//objetos del servicio ParamCreateDraftWithOrganism paramCreateDraft = new ParamCreateDraftWithOrganism(); ResultCreateDraft resultCreateDraft; //Se crea un receiver DraftReceiver draftReceiver = new DraftReceiver(); draftReceiver.setReceiverId("11111111H"); // receptor de la notificacion draftReceiver.setName("name"); draftReceiver.setSurname1("surname1"); draftReceiver.setSurname2("surname2"); draftReceiver.setAddress("address"); draftReceiver.setEmail("email@email.com"); //se podrán añadir más de una dirección separadas por ; //Se crea la lista de Receivers DraftReceiver[] draftReceivers = new DraftReceiver[1]; draftReceivers[0] = draftReceiver; //Se crea la lista de datos específicos Data[] specificDataList=new Data[3]; specificDataList[0] = new Data("keyA1","valueA1"); specificDataList[1] = new Data("keyA2","valueA2"); specificDataList[2] = new Data("keyA3","valueA3"); //Se crea el organismo asociado Organism organism = new Organism(); organism.setCode("ORG14668"); organism.setName("Departamento de Economía y Hacienda"); //Se rellena el objeto Draft DraftWithOrganism draftCreate = new DraftWithOrganism(); draftCreate.setDossier("20110224-01"); // expediente draftCreate.setCreatorId("11111111H"); // creador de la notificación draftCreate.setDescription("20110224-01"); draftCreate.setOrganism(organism); draftCreate.setSpecificDataList(specificDataList); draftCreate.setDraftReceiversList(draftReceivers); draftCreate.setExpireTime(new Integer(10)); draftCreate.setContent("20110224-01"); draftCreate.setProcedure("1"); // procedimiento de la notificación draftCreate.setOrganismVisibilityList(null); // lista vacia de organismos gestores //Se rellena el objeto ParamCreateDraft paramCreateDraft.setDraft(draftCreate); //Se hace la invocación try { resultCreateDraft = draftClient.createDraftWithOrganism(paramCreateDraft); System.out.println(resultCreateDraft.getDraftId()); } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

 

Método 'updateDraft' @deprecated



Actualiza una solicitud de notificación dada de alta en el sistema. En el caso de enviar el documento la notificación (draftDocument) se actualizaría o añadiría y se actualizarían los metadados del draft. Si solo se enviase el parámetro draft, solamente se actualizarían los metadatos de éste.

A la hora de actualizar un borrador tenemos que tener en cuenta la visibilidad. Todos los borradores actualizados con este método se actualizarán con visibilidad compartida y el organismo gestor será el indicado en el campo organismo

Método deprecado, es recomendable usar el servicio → updateDraftWithOrganism() para gestionar de manera específica la visibilidad de las notificaciones.

 

Información

Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama.
Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.

Signatura

Result updateDraft(String applicationId, ParamUpdateDraft paramUpdateDraft, DataHandler draftDocument) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

draftDocument

DataHandler

No

Documento de principal de la notificación.

ParamUpdateDraft

Objeto de actualización de borrador

draft

Draft

Objeto solicitud

invokingId

String

No

Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultUpdateDraft

ResultUpdateDraft

Objeto que se devuelve como resultado sin ningún parámetro.

Ejemplo de invocación

 

Ejemplo de invocación
ParamGetDraft paramGetDraft = new ParamGetDraft(); paramGetDraft.setDraftId(result.getDraftId()); ResultGetDraft resultGetDraft = draftClient.getDraft(paramGetDraft); Draft draft = resultGetDraft.getDraft(); // Le añadimos los metadatos del documento de notificación draft.setFormatSignature(new Long(SNTClientConstants.SIGN_TYPE_PDF)); draft.setMimeType("application/pdf"); draft.setFileName("NOTIFICATION_ATTACHED_PDF.pdf"); draft.setSignDate(Calendar.getInstance()); ParamUpdateDraft paramUpdateDraft = new ParamUpdateDraft(); paramUpdateDraft.setDraft(draft); paramUpdateDraft.setInvokingId("1111111H"); // Cargamos el fichero de notificación FileDataSource dataSourceNotification = new FileDataSource(new File("src/test/docs/NOTIFICATION.pdf")); DataHandler draftDocument = new DataHandler(dataSourceNotification); // Invocamos al servicio draftClient.updateDraft(paramUpdateDraft, draftDocument);

 

Método 'updateDraftWithOrganism'



Actualiza una solicitud de notificación dada de alta en el sistema. En el caso de enviar el documento la notificación (draftDocument) se actualizaría o añadiría y se actualizarían los metadados del draft. Si solo se enviase el parámetro draft, solamente se actualizarían los metadatos de éste.

A la hora de actualizar un borrador tenemos que tener en cuenta la visibilidad. En la obtención del borrador obtendremos también los organismos gestores e irá incluido en la lista el organismo aportador, por lo que tenemos que quitarlo de la lista si queremos gestionarlos en nuestra aplicación.

En la lista de visibilidad de organismos solamente hay que pasar los organismos gestores ya que el organismo productor se obtiene automáticamente por código.

 

Información

Se ha modificado la lógica del servicio para que el usuario pueda emitir notificaciones en organismos en los que no tengan rol directamente pero estén en su rama.
Se podrá emitir en organismos de la misma rama en orden descendente, es decir, podrá emitir el el organismo padre del organismo que tenga roles.

Signatura

Result updateDraft(String applicationId, ParamUpdateDraftWithOrganism paramUpdateDraftWithOrganism, DataHandler draftDocument) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

draftDocument

DataHandler

No

Documento de principal de la notificación.

ParamUpdateDraftWithOrganism

Objeto de actualización de borrador

draftWithOrganism

DraftWithOrganism

Objeto solicitud

invokingId

String

No

Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultUpdateDraft

ResultUpdateDraft

Objeto que se devuelve como resultado sin ningún parámetro.

Ejemplo de invocación

 

Ejemplo de invocación
ParamGetDraft paramGetDraft = new ParamGetDraft(); paramGetDraft.setDraftId(10940L); ResultGetDraftWithOrganism resultGetDraft = draftClient.getDraftWithOrganism(paramGetDraft); DraftWithOrganism draft = resultGetDraft.getDraft(); // Le añadimos los metadatos del documento de notificación draft.setFormatSignature(new Long(SNTClientConstants.SIGN_TYPE_PDF)); draft.setMimeType("application/pdf"); draft.setFileName("NOTIFICATION_ATTACHED_PDF.pdf"); draft.setSignDate(Calendar.getInstance()); ParamUpdateDraftWithOrganism paramUpdateDraft = new ParamUpdateDraftWithOrganism(); paramUpdateDraft.setDraft(draft); paramUpdateDraft.setInvokingId("1111111H"); // Cargamos el fichero de notificación FileDataSource dataSourceNotification = new FileDataSource(new File("src/test/docs/NOTIFICATION.pdf")); DataHandler draftDocument = new DataHandler(dataSourceNotification); // Invocamos al servicio draftClient.updateDraftWithOrganism(paramUpdateDraft, draftDocument);

Método 'deleteDraft'


Elimina una solicitud de notificación dada de alta en el sistema.

Signatura

Result deleteDraft(String applicationId, ParamDeleteDraft paramDeleteDraft) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamDeleteDraft

Objeto de borrado

draftId

String

Identificador de la solicitud a eliminar

invokingId

String

Identificador (NIF) de la persona que origina la petición desde la aplicación invocante. Si se trata de una aplicación web será la persona autenticada en el mismo.

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

-

Result

Objeto que se devuelve como resultado sin ningún parámetro.

Ejemplo de invocación

 

Ejemplo de invocación
// Objectos del servicio ParamDeleteDraft paramDeleteDraft = new ParamDeleteDraft(); // Indicamos el Draft a eliminar paramDeleteDraft.setDraftId(10940L); paramDeleteDraft.setInvokingId("1111111H"); // Se hace la invocación try { Result resultDeleteDraft = draftClient.deleteDraft(paramDeleteDraft); System.out.println("Se ha eliminado el borrador correctamente"); } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

Método 'getDraft' @deprecated


Obtiene los metadatos (sin los datos físicos del documento de notificación) de una solicitud de notificación dada de alta en el sistema.

En el borrador obtenido, no se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.

Método deprecado, es recomendable usar el servicio → getDraftWithOrganism() para obtener visibilidad de las notificaciones.

Signatura

ResultGetDraft getDraft(String applicationId, ParamGetDraft paramGetDraft) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamGetDraft

Objeto de obtención de borrador

draftId

String

Identificador de la solicitud a obtener

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultGetDraft

Objeto que contiene el borrador

draft

Draft

Objeto borrador

Ejemplo de invocación

 

Ejemplo de invocación
//Objetos del servicio ParamGetDraft paramGetDraft = new ParamGetDraft(); ResultGetDraft resultGetDraft; //Se indica el Draft a obtener paramGetDraft.setDraftId(new Long(1)); //Se hace la invocación try { resultGetDraft = draftClient.getDraft(paramGetDraft); if(resultGetDraft!=null && resultGetDraft.getDraft()!=null){ System.out.println("Se ha obtenido el borrador"); }else{ System.out.println("No se ha encontrado el borrador"); } } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

 

Método 'getDraftWithOrganism'



Obtiene los metadatos (sin los datos físicos del documento de notificación) de una solicitud de notificación dada de alta en el sistema.

En el borrador obtenido, se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.

Signatura

ResultGetDraftWithOrganism getDraftWithOrganism(String applicationId, ParamGetDraft paramGetDraft) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamGetDraft

Objeto de obtención de borrador

draftId

String

Identificador de la solicitud a obtener

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultGetDraftWithOrganism

Objeto que contiene el borrador

draft

Draft

Ejemplo de invocación

 

Ejemplo de invocación
//Objetos del servicio ParamGetDraft paramGetDraft = new ParamGetDraft(); //Se indica el Draft a obtener paramGetDraft.setDraftId(new Long(1)); //Se hace la invocación try { ResultGetDraftWithOrganism resultGetDraft = draftClient.getDraftWithOrganism(paramGetDraft); if(resultGetDraft!=null && resultGetDraft.getDraft()!=null){ System.out.println("Se ha obtenido el borrador"); }else{ System.out.println("No se ha encontrado el borrador"); } } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

 

Método 'getDraftList' @deprecated


Obtiene una lista de solicitudes de notificación dadas de alta en el sistema, según un criterio de búsqueda.

Método deprecado, es recomendable usar el servicio → getDraftListWithOrganism() para obtener visibilidad de las notificaciones.

Signatura

ResultGetDraftList getDraftList(String applicationId, ParamGetDraftList paramGetDraftList) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamGetDraftList

Objeto de obtención de borradores

draftSearch

DraftSearch

Objeto de búsqueda de la solicitud

Parámetros de respuesta

 

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

ResultGetDraftList

ResultGetDraftList

Objeto sin parámetros

draftList

Draft[]

Lista de objetos solicitud

Size

Integer

Número de elementos coincidentes con la búsqueda que se encuentran en la base de datos. Este parámetro se devuelve ya que con los parámetros de paginación se pueden solicitar que devuelva un máximo de objetos independientemente de cuántos haya en la base de datos.

Ejemplo de invocación

 

Ejemplo de invocación
//Objetos del servicio ParamGetDraftList paramGetDraftList = new ParamGetDraftList(); DraftSearch objDraft = new DraftSearch(); // parametros por los que filtrar objDraft.setCreatorId("00000000T"); // buscamos por procedimiento y organismos objDraft.setProcedure("1"); // Lista de organismos gestores a buscar String[] orgListVisibility = new String[2]; orgListVisibility[0] = "ORG14668"; // organismo gestor orgListVisibility[1] = "ORG12358"; // organismo gestor objDraft.setOrgListVisibility(orgListVisibility); paramGetDraftList.setDraftSearch(objDraft); // Se hace la invocación try { ResultGetDraftList resultGetDraftList = draftClient.getDraftList(paramGetDraftList); if(resultGetDraftList!=null){ System.out.println("Numero de resultados: "+resultGetDraftList.getSize()); }else{ System.out.println("No se han encontrado resultados"); } } catch (SNTException e) { System.out.println("Error:"+e.getCode()+" Mensaje:"+e.getExtraInfo()); }

Método 'getDraftListWithOrganism'



Obtiene una lista de solicitudes de notificación dadas de alta en el sistema, según un criterio de búsqueda.

En los borradores obtenidos, se obtiene la lista de organismos de visibilidad (organismVisibilityList) con el organismo productor y los organismos gestores.

Signatura

ResultGetDraftListWithOrganism getDraftListWithOrganism(String applicationId, ParamGetDraftList paramGetDraftList) throws RemoteException, InternalCoreException;

Parámetros de invocación

Nombre

Tipo

Obligatorio

Descripción

Nombre

Tipo

Obligatorio

Descripción

applicationId

String

Aplicación que ejecuta el método

ParamGetDraftList

Objeto de obtención de borradores

draftSearch

DraftSearch

Objeto de búsqueda de la solicitud

Parámetros de respuesta

 

Nombre

Tipo

Nombre

Tipo