- Created by Servicios Digitales de Aragón , last modified on 21 Sept 2020
You are viewing an old version of this content. View the current version.
Compare with Current View Version History
« Previous Version 9 Next »
INDICE
1.- Servicios SOAP
1.1.- Servicio EntryService
En los siguientes apartados se especifican tanto los tipos de datos utilizados, como los métodos que la componen, detallando los parámetros y mostrando ejemplos de uso.
1.1.1- Método 'listEntry'
Devuelve el listado con los datos de los asientos registrales que se corresponden a los criterios de búsqueda especificados.
1.1.1.1- Signatura
ResultListEntries listEntry(String idApplication, ParamListEntries param) throws RemoteException, SRTException
1.1.1.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Filtro de búsqueda en función de la información básica del asiento. Son obligatorios los campos organism, requestType y register. | Sí |
consolidatedValue | Int | - | Filtro para seleccionar los asientos consolidados (en Registro Físico), los no consolidados ó indistinto INDISTINTO = 0 NO CONSOLIDADOS = 1 CONSOLIDADOS = 2 | No |
sender | Actor | - | Interesado que envía el asiento | No |
senderAgent | Actor | - | Representante del interesado que envía el asiento | No |
receiver | Actor | - | Destinatario al que va dirigido el asiento | No |
receiverAgent | Actor | - | Representante del destinatario al que va dirigido el asiento | No |
dateStart | Date | - | Fecha (y hora) de presentación a partir de la cual se desea listar los asientos | No |
dateEnd | Date | - | Fecha (y hora) de presentación hasta la que se desea listar los asientos | No |
specificData | Data[] | - | Datos específicos asociados | No |
sortColumn | String | - | Ordenación por el nombre de la columna | Sí |
ascending | Boolean | - | Ordenación de las columnas ASCENDENTE = true DESCENDENTE = false | Sí |
fromIndex | Int | - | Valor desde el cual se busca | Sí |
toIndex | Int | - | Valor de búsqueda | Sí |
El emisor (Sender), representante del emisor (SenderAgent), receptor/es (Receivers) y representante del receptor(ReceiverAgent) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debería utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Sí | |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.1.1.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
entries | Entry[] | Listado de asientos que cumplen los filtros de búsqueda establecidos. |
1.1.1.4.- Validaciones
Nombre | Descripción |
---|---|
InternalCoreException | Se agrupan todos aquellos errores internos de funcionamiento del SRT. |
1.1.1.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.1.6.- Ejemplo de invocación
ParamListEntries paramListEntries = new ParamListEntries(); ResultListEntries entries = new ResultListEntries(); Info info = new Info(); // Código de organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism("ORGXXXXX"); //Código de Libro de registro info.setRegister("REG_XXX"); // Código de procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType("xxx"); //Tipo de Entry (Entrada(0), Salida(1)) info.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); //Fecha de creación del Entry Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); paramListEntries.setInfo(info); entries = entryClient.listEntry(paramListEntries);
1.1.2.- Método 'getEntryDetails'
Obtiene los datos sobre un asiento registral, a partir del identificador de su libro de registro y del número de asiento registral.
1.1.2.1.- Signatura
ResultGetEntryDetails getEntryDetails(String idApplication, ParamGetEntryDetails param) throws RemoteException, SRTException
1.1.2.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
registerId | String | - | Identificador del libro de registro en el que se va a realizar la consolidación de los asientos. | Sí |
requestType | Int | - | Tipo de asiento ENTRADA = 0 SALIDA = 1 | Sí |
entryId | String | - | Nº de registro del asiento asociado al sistema telemático | Sí |
consolidatedId | String | - | Nº de registro del asiento asociado al sistema físico con el que se consolida | No |
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. | No |
1.1.2.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
entry | Entry | Información general del asiento y datos específicos en 'specificdata' |
request | String | Contenido del documento de solicitud de alta de asiento (fichero PDF, XML, etc.) codificado en Base64 |
receipt | String | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
attachments | AttachmentInfo[] | Datos generales de los documentos adjuntos |
1.1.2.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.1.2.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.2.6.- Ejemplo de invocación
ParamGetEntryDetails paramGetEntryDetails = new ParamGetEntryDetails(); ResultGetEntryDetails resultGetEntryDetails = new ResultGetEntryDetails(); //Identificador de Libro de Registro paramGetEntryDetails.setRegisterId("REG_XXX"); //Código del Asiento Registral paramGetEntryDetails.setEntryId("PREF_XXXXXXXXXX/SUF"); //Tipo de Entry (Entrada(0), Salida(1)) paramGetEntryDetails.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); //paramGetEntryDetails.setInvokginId(null); paramGetEntryDetails.setInvokginId("NIF")); resultGetEntryDetails = entryClient.getEntryDetails(paramGetEntryDetails);
1.1.3.- Método 'getEntryAttachment'
Devuelve los bytes del fichero adjunto indicado en el criterio. (Método DEPRECADO). La recomendación es realizar esta integración mediante CCSV como se indica en ANEXO I: PROCESO DE INTEGRACIÓN MEDIANTE CCSV
1.1.3.1.- Signatura
DataHandler getEntryAttachment(String idApplication, ParamGetEntryAttachment param) throws RemoteException, SRTException
1.1.3.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
registerId | String | - | Identificador del libro de registro en el que se va a realizar la consolidación de los asientos. | Sí |
requestType | int | - | Tipo de la solicitud Entrada = 0 Salida = 1 | Sí |
entryId | String | - | Identificador del tramite | Sí |
idAttachment | String | - | Identificador del documento adjunto | Sí |
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. | No |
Attachment | InputStream | - | Flujo de datos (stream) para la transmisión de forma eficiente del fichero adjunto desde el sistema telemático a la aplicación invocante | - |
1.1.3.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
consolidationResult | EntryConsolidatrionResult[] | Listado de resultados de la consolidación de las entradas. |
1.1.3.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.1.3.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.3.6.- Ejemplo de invocación
ParamGetEntryAttachment paramGetEntryAttachment = new ParamGetEntryAttachment(); //Identificador de Libro de Registro paramGetEntryAttachment.setRegisterId("REG_xxx"); //Código del Asiento Registral paramGetEntryAttachment.setEntryId("PREF_XXXXXXXXX/SUF"); //Identificador del adjunto paramGetEntryAttachment.setIdAttachment("idAttachment"); //Tipo de Entry (Entrada(0), Salida(1)) paramGetEntryAttachment.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); paramGetEntryAttachment.setInvokingId(null); InputStream inputStream = entryClient.getEntryAttachment(paramGetEntryAttachment);
1.1.4.- Método 'getEntryAttachmentByFileRef'
1.1.4.1.- Signatura
String getEntryAttachmentByFileRef(String idApplication,ParamGetEntryAttachment param) throws RemoteException, SRTException
1.1.4.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
registerId | String | - | Identificador del libro de registro en el que se va a realizar la consolidación de los asientos. | Sí |
requestType | int | - | Tipo de la solicitud Entrada = 0 Salida = 1 | Sí |
entryId | String | - | Identificador del tramite | Sí |
idAttachment | String | - | Identificador del documento adjunto | Sí |
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. | No |
1.1.4.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
idRef | String | Identificador (“id”) del contenido del fichero dentro de la petición SOAP de invocación |
1.1.4.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.1.4.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.4.6.- Ejemplo de invocación
ParamGetEntryAttachment paramGetEntryAttachment = new ParamGetEntryAttachment(); //Identificador de Libro de Registro paramGetEntryAttachment.setRegisterId("REG_XXX"); //Código del Asiento Registral paramGetEntryAttachment.setEntryId("PREF_XXXXXXXXX/SUF"); //Identificador del adjunto paramGetEntryAttachment.setIdAttachment("idAttachment"); //Tipo de Entry (Entrada(0), Salida(1)) paramGetEntryAttachment.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); paramGetEntryAttachment.setInvokingId(null); InputStream inputStream = entryClient.getEntryAttachmentByFileRef(paramGetEntryAttachment);
1.1.5.- Método 'getEntrySpecificData'
Información general del asiento y datos específicos en 'specificdata'
1.1.5.1.- Signatura
ResultGetEntrySpecificData getEntrySpecificData(String idApplication, ParamGetEntryDetails param)throws RemoteException, SRTException
1.1.5.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
registerId | String | - | Identificador del libro de registro en el que se va a realizar la consolidación de los asientos. | Sí |
requestType | int | - | Tipo de la solicitud Entrada = 0 Salida = 1 | Sí |
entryId | String | - | Identificador del tramite | Sí |
consolidatedId | String | - | Nº de registro del asiento asociado al sistema físico con el que se consolida | No |
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. | No |
1.1.5.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
Entry | Entry | Información general del asiento y datos específicos en 'specificdata' |
1.1.5.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.1.5.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.5.6.- Ejemplo de invocación
ResultGetEntrySpecificData result = new ResultGetEntrySpecificData(); ParamGetEntryDetails param = new ParamGetEntryDetails(); //Identificador de Libro de Registro paramGetEntryAttachment.setRegisterId("REG_xxx"); //Código del Asiento Registral paramGetEntryAttachment.setEntryId("PREF_XXXXXXXXX/SUF"); //Tipo de Entry (Entrada(0), Salida(1)) paramGetEntryAttachment.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); result = entryClient.getEntrySpecificData(param);
1.1.6.- Método 'sendEntry'
Alta del asiento registral. (Método DEPRECADO). Se recomienda utilizar el método sendFullEntry (apartado 1.1.7)
1.1.6.1.- Signatura
ResultSendEntry sendEntry(String idApplication, ParamSendEntry param, FileInfo fileInfo, DataHandler file)throws RemoteException, SRTException
1.1.6.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Información básica y común | Sí |
request | Request | - | Contenido del documento de solicitud de alta de asiento (fichero PDF, XML, etc.) codificado en Base64 | Sí |
sender | Actor | - | Interesado que envía el asiento | Sí |
senderAgent | Actor | - | Representante del interesado que envía el asiento | No |
receiver | Actor | - | Destinatario al que va dirigido el asiento | Sí |
receiverAgent | Actor | - | Representante del destinatario al que va dirigido el asiento | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Datos específicos asociados | Sí |
invokingId | String | 255 caracteres | 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. | No |
PROD_ORG_CODE | Alfanumérico, código de registro | - | Organismo productor u organismo responsable del procedimiento (en SIU). USOS: 1) Se utiliza para obtener el órgano productor de un documento asociado a un procedimiento, con el fin de introducirlo como metadato de los documentos asociados a ese procedimiento (a la hora de guardar en el gestor documental - a través de CCSV). NO Titulo: Manual Integración 2) Saber qué procedimientos tiene asignados un organismo. | No |
fileInfo | FileInfo | - | Datos del fichero adjunto | No |
attachment | DataHandler | - | Flujo de datos (stream) para la transmisión de forma eficiente del fichero adjunto desde la aplicación invocante al sistema telemático | No |
Info | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
subject | String | 255 caracteres | Asunto | Sí |
reportCode | String | 255 caracteres | Código de informe | No |
requestType | Integer | 1 | Tipo de petición (0 = entrada y 1 = salida) | Sí |
requestTime | Calendar | - | Fecha de presentación | No |
processTime | Calendar | - | Fecha de registro | No |
organism | String | 255 caracteres | Código de organismo | Sí |
register | String | 255 caracteres | Tipo de registro (I = Interno y E = externo) | No |
processType | String | 255 caracteres | Código de procedimiento | Sí |
Request | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
request | String | - | Bytes del archivo en base64 | Sí |
fileName | String | 255 caracteres | Nombre del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
RequestPromoter | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Promoter | ||||
Promoter/identifierNumber | String | 255 caracteres | Número de identificación | Sí |
Promoter/name | String | 255 caracteres | Nombre | Sí |
Promoter/surname1 | String | 255 caracteres | Primer apellido | No |
Promoter/surname2 | String | 255 caracteres | Segundo apellido | No |
FileInfo | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
name | String | 255 caracteres | Nombre del archivo | Sí |
fileSize | Long | 19 dígitos | Tamaño del archivo | Sí |
description | String | 255 caracteres | Descripción del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
El emisor (Sender), agente emisor (SenderAgent) y receptor/es (Receivers) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debe utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Nif | Sí |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.1.6.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
id | String | Número de registro correspondiente al asiento registral realizado |
receipt | Receipt | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Date | Fecha y hora de presentación, primer día hábil desde el alta (pudiendo coincidir), en Registro Telemático |
1.1.6.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
sender | Si el asiento es de salida, el sender debe ser de tipo organism y valor param.info.organism |
receiver | Si el asiento es de entrada, el receiver debe ser de tipo organism y valor info.organism |
info.organism | Se valida que exista el organismo |
info.register | No es obligatorio ni se tiene en cuenta, será eliminado en un futuro |
info.processType | Se valida que exista el tipo de procedimiento. |
org_code_list_reg_in | Es un alfanumérico, código de registro , son los organismos de registro de entrada asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
org_code_list_reg_out | Es un alfanumérico, código de registro , son los organismos de registro de salida asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_TYPE_REGISTER] | El código de registro debe ser verificable. Puede tener los valores “I” para registro interno o “E” para registro externo. |
1.1.6.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.6.6.- Ejemplo de invocación
ResultSendEntry resultSendEntry = new ResultSendEntry (); ParamSendEntry paramSendEntry = new ParamSendEntry(); Info info = new Info(); Request request = new Request(); Person receiver = new Person(); Actor senderAgent = new Actor(); // Asunto del Entry info.setSubject("Asunto"); // Código de Organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism("ORGXXXXX"); // Tipo de Entry (Entrada(0)/Salida(1)) info.setRequestType("1"); // Fecha de creación del Entry Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); // Código de Procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType("tramite_pruebas"); // Fichero a enviar byte[] arrayFile = FileCopyUtils.copyToByteArray(new File("URL Fichero")); String fileSoli = BASE64Encoder.encode(arrayFile); // Firma del fichero a enviar byte[] arraySign = FileCopyUtils.copyToByteArray(new File("URL Firma")); String detachedSignature = BASE64Encoder.encode(arraySign); // Formato del fichero request.setMimeType("Formato"); // Fichero request.setRequest(fileSoli); // Nombre del fichero request.setFileName("Nombre.Extension"); // Firma request.setDetachedSignature(detachedSignature); // Formato de Firma request.setFormatSignature("Formato Firma"); // Organismo Emisor Organism sender = new Organism("ORGXXXXX", "Nombre Organismo"); // Datos del Emisor senderAgent = new Person("NIF/CIF","Name","Surname1","Surname2", "Email","Address"); // Datos del Destinatario receiver.setAddress("Address"); receiver.setGivenName("Name"); receiver.setMail("Email"); receiver.setNif("NIF/CIF"); receiver.setSurname1("surname1"); receiver.setSurname2("surname2"); Actor[] receiverList = new Actor[1]; receiverList[0] = (Actor)receiver; // Datos especificos Data[] dataList = new Data[2]; dataList[0] = new Data("Name1","Value1"); dataList[1] = new Data("Name2","Value2"); paramSendEntry.setInfo(info); paramSendEntry.setRequest(request); paramSendEntry.setSender(sender); paramSendEntry.setReceiver(receiverList); paramSendEntry.setSpecificData(dataList); paramSendEntry.setSenderAgent (senderAgent); paramSendEntry.setInvokingId(null); // Fichero Adjunto FileDataSource dataSource = new FileDataSource(new File("URLAdjunto")); DataHandler file = new DataHandler(dataSource); FileInfo fileInfo = new FileInfo(); // Nombre del Fichero Adjunto fileInfo.setName("Nombre.Extension"); // Descripción del Fichero Adjunto fileInfo.setDescription ("testing document"); // Tamaño del Fichero Adjunto fileInfo.setFileSize(new Long(dataSource.getFile().length())); // Formato del Fichero Adjunto fileInfo.setMimeType("Formato"); resultSendEntry = entryClient.sendEntry(paramSendEntry, fileInfo, file);
1.1.7.- Método 'sendFullEntry'
Alta de asiento registral. Permite hacerlo tanto con ficheros adjuntos (bytes), que es la forma no recomendada, como mediante la integración a través de CCSV (la recomendada y descrita en el apartado ANEXO I:PROCESO DE INTEGRACIÓN MEDIANTE CCSV)
1.1.7.1.- Signatura
ResultSendFullEntry sendFullEntry(String idApplication,ParamSendFullEntry param, FileInfo fileInfo, DataHandler file) throws RemoteException, SRTException
1.1.7.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Información básica y común | Sí |
requestPromoter | RequestPromoter | - | Datos del Promotor | No |
sender | Actor | - | Interesado que envía el asiento | Sí |
senderAgent | Actor | - | Representante del interesado que envía el asiento, obligatorio si asiento de salida | No/Sí |
receiver | Actor | - | Destinatario al que va dirigido el asiento | Sí |
receiverAgent | Actor | - | Representante del destinatario al que va dirigido el asiento | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Datos específicos asociados | No |
invokingId | String | 255 caracteres | 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. | No |
fileInfo | FileInfo | - | Datos del fichero adjunto | No |
attachment | DataHandler | - | Flujo de datos (stream) para la transmisión de forma eficiente del fichero adjunto desde la aplicación invocante al sistema telemático | No |
Info | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
subject | String | 255 caracteres | Asunto | Sí |
reportCode | String | 255 caracteres | Código de informe | No |
requestType | Integer | 1 | Tipo de petición (0 = entrada y 1 = salida) | Sí |
requestTime | Calendar | - | Fecha de presentación | No |
processTime | Calendar | - | Fecha de registro | No |
organism | String | 255 caracteres | Código de organismo | Sí |
register | String | 255 caracteres | Tipo de registro (I = Interno y E = externo) | No |
processType | String | 255 caracteres | Código de procedimiento | Sí |
RequestPromoter | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Promoter | ||||
Promoter/identifierNumber | String | 255 caracteres | Número de identificación | Sí |
Promoter/name | String | 255 caracteres | Nombre | Sí |
Promoter/surname1 | String | 255 caracteres | Primer apellido | No |
Promoter/surname2 | String | 255 caracteres | Segundo apellido | No |
FileInfo | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
name | String | 255 caracteres | Nombre del archivo | Sí |
fileSize | Long | 19 dígitos | Tamaño del archivo | No |
description | String | 255 caracteres | Descripción del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
El emisor (Sender), representante del emisor (SenderAgent), receptor/es (Receivers) y representante del receptor(ReceiverAgent) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debería utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Nif | Sí |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.1.7.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
id | String | Número de registro correspondiente al asiento registral realizado |
receipt | Receipt | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Date | Fecha y hora de presentación, primer día hábil desde el alta (pudiendo coincidir), en Registro Telemático |
CSVReceipt | String | CSV del recibo (justificante) de alta de asiento registral |
1.1.7.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
sender | Si el asiento es de Salida, el sender debe ser de tipo Organism y su valor estar en info.organism |
senderAgent | Para realizar un registro de salida es necesario identificar al representante |
receiver | Si el asiento es de Entrada, el receiver debe ser de tipo Organism y su valor estar en info.organism |
info.organism | Se valida que exista el organismo en SIU, debe coincidir con el receiver en los de entrada y con el sender en los de salida |
info.register | No es obligatorio ni se tiene en cuenta, será eliminado en un futuro |
info.processType | Se valida que exista el tipo de procedimiento y que se pueda registrar en el organismo indicado |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_TYPE_REGISTER] | El código de registro debe ser verificable. Puede tener los valores “I” para registro interno o “E” para registro externo. Para crear un asiento en un libro de registro interno es necesario que el organismo asociado al asiento tenga como dato extendido "InternalRegister" igual a libro de registro usado para hacer los asientos internos. |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_CSV_REQUEST] | El estado de la solicitud enviada debe ser de tipo original o copia, no se permite registrar si el estado del documento en CCSV es de otro tipo. |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_CSV_ATTACHED] | El estado de los adjuntos enviados debe ser de tipo original o copia, no se permite registrar si el estado de alguno de los documentos en CCSV es de otro tipo |
org_code_list_reg_in | Es un alfanumérico, código de registro , son los organismos de registro de entrada asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
org_code_list_reg_out | Es un alfanumérico, código de registro , son los organismos de registro de salida asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
1.1.7.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.7.6.- Ejemplo de invocación
// IMPORTANTE: Para más información ver anexo I ResultSendFullEntry resultSendFullEntry = new ResultSendFullEntry (); ParamSendFullEntry paramSendFullEntry = new ParamSendFullEntry(); Info info = new Info(); // Asunto del Entry info.setSubject("Asunto"); // Código de Organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism("ORGXXXXX"); // Tipo de Entry (Entrada(0)/Salida(1)) info.setRequestType(SRTClientConstants.REQUEST_TYPE_xxx); // Fecha de creación del Entry Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); // Código de Procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType("xxx"); // Fichero a enviar byte[] arrayFile = FileCopyUtils.copyToByteArray(new File("URL Fichero")); String fileSoli = BASE64Encoder.encode(arrayFile); // Firma del fichero a enviar byte[] arraySign = FileCopyUtils.copyToByteArray(new File("URL Firma")); String detachedSignature = BASE64Encoder.encode(arraySign); RequestPromoter request = new RequestPromoter(); //Formato del Documento request.setMimeType("Formato"); //Documento request.setRequest(fileSoli); //Nombre del Documento request.setFileName("Name"); //Firma request.setDetachedSignature(detachedSignature); //Formato de Firma request.setFormatSignature(SRTClientConstants.SIGN_TYPE_xxx); //Organismo Emisor Organism sender = new Organism("ORGXXXXX"); Actor senderAgent = new Actor(); //Datos Emisor senderAgent = new Person("NIF/CIF","Name","surmane1","surname2","Email","Adress"); Person receiver = new Person(); //Datos Destinatario receiver.setAddress("Adress"); receiver.setGivenName("Name"); receiver.setMail("Email"); receiver.setNif("NIF/CIF"); receiver.setSurname1("surname1"); receiver.setSurname2("surname2"); Actor[] receiverList = new Actor[1]; receiverList[0] = (Actor)receiver; // Datos especificos Data[] dataList = new Data[3]; dataList[0] = new Data("TypeRegister ", "E"); dataList[1] = new Data("Name2", "Value2"); dataList[2] = new Data(SRTClientConstants.SPECIFIC_DATA_NAME_XXX,"Value3"); paramSendFullEntry.setInfo(info); paramSendFullEntry.setRequestPromoter(request); paramSendFullEntry.setSender(sender ); paramSendFullEntry.setReceiver(receiverList); paramSendFullEntry.setSpecificData(dataList); paramSendFullEntry.setSenderAgent(senderAgent); paramSendFullEntry.setInvokingId("NIF"); // Adjunto Firmado FileDataSource dataSource = new FileDataSource(new File("URLAdjunto")); DataHandler file = new DataHandler(dataSource); FileInfo fileInfo = new FileInfo(); // Nombre del Documento fileInfo.setName("Nombre+"."+Extension"); // Descripción del Documento fileInfo.setDescription ("Descripcion"); // Tamaño del Documento en bytes fileInfo.setFileSize("Tamaño"); // Formato del Documento (mime-type) fileInfo.setMimeType("Formato"); // Formato de Firma fileInfo.setFormatSignature(SRTClientConstants.SIGN_TYPE_xxx); resultSendFullEntry = entryClient.sendFullEntry(paramSendFullEntry,fileInfo, file);
1.1.8.- Método 'sendEntryOnlySaveReceipt'
Alta de asiento registral, sin que se almacene la solicitud (bytes) ni sus posibles adjuntos en el Sistema de Registro Telemático. Sólo se almacena en CCSV el fichero del recibo de registro, devolviéndose su contenido a la aplicación invocante. Se describe la integración con este método en ANEXO II: PROCESO DE INTEGRACIÓN MEDIANTE SISTEMA EXTERNO
1.1.8.1.- Signatura
public ResultSendEntryOnlySaveReceipt sendEntryOnlySaveReceipt(String idApplication,ParamSendEntryOnlySaveReceipt param) throws SRTException
1.1.8.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Información básica y común | Sí |
requestPromoter | RequestPromoter | - | Datos del Promotor | No |
sender | Actor | - | Interesado que envía el asiento | Sí |
senderAgent | Actor | - | Representante del interesado que envía el asiento | No |
receiver | Actor | - | Destinatario al que va dirigido el asiento | Sí |
receiverAgent | Actor | - | Representante del destinatario al que va dirigido el asiento | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Sí | |
invokingId | String | 255 caracteres | 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. | No |
Info | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
subject | String | 255 caracteres | Asunto | Sí |
reportCode | String | 255 caracteres | Código de informe | No |
requestType | Integer | 1 | Tipo de petición (0 = entrada y 1 = salida) | Sí |
requestTime | Calendar | - | Fecha de presentación | No |
processTime | Calendar | - | Fecha de registro | No |
organism | String | 255 caracteres | Código de organismo | Sí |
register | String | 255 caracteres | Tipo de registro (I = Interno y E = externo) | No |
processType | String | 255 caracteres | Código de procedimiento | Sí |
RequestPromoter | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Promoter | ||||
Promoter/identifierNumber | String | 255 caracteres | Número de identificación | Sí |
Promoter/name | String | 255 caracteres | Nombre | Sí |
Promoter/surname1 | String | 255 caracteres | Primer apellido | No |
Promoter/surname2 | String | 255 caracteres | Segundo apellido | No |
El emisor (Sender), representante del emisor (SenderAgent), receptor/es (Receivers) y representante del receptor(ReceiverAgent) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debería utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Nif | Sí |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.1.8.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
id | String | Número de registro correspondiente al asiento registral realizado |
receipt | Receipt | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Date | Fecha y hora de presentación, primer día hábil desde el alta (pudiendo coincidir), en Registro Telemático |
CSVReceipt | String | CSV del recibo (justificante) de alta de asiento registral |
1.1.8.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
IdRequest | Se valida para que este identificador nunca venga vacío |
sender | Si el asiento es de salida, el sender debe ser de tipo organism y valor param.info.organism |
receiver | Si el asiento es de entrada, el receiver debe ser de tipo organism y valor info.organism |
info.organism | Se valida que exista el organismo |
info.register | No es obligatorio ni se tiene en cuenta, será eliminado en un futuro |
info.processType | Se valida que exista el tipo de procedimiento. |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_TYPE_REGISTER] | El código de registro debe ser verificable. Puede tener los valores “I” para registro interno o “E” para registro externo. Para crear un asiento en un libro de registro interno es necesario que el organismo asociado al asiento tenga como dato extendido "InternalRegister" igual a libro de registro usado para hacer los asientos internos. |
org_code_list_reg_in | Es un alfanumérico, código de registro , son los organismos de registro de entrada asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
org_code_list_reg_out | Es un alfanumérico, código de registro , son los organismos de registro de salida asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
1.1.8.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
1.1.8.6.- Ejemplo de invocación
ResultSendEntryOnlySaveReceipt resultSendEntryOnlySaveReceipt = new ResultSendEntryOnlySaveReceipt (); ParamSendEntryOnlySaveReceipt paramSendEntryOnlySaveReceipt = new ParamSendEntryOnlySaveReceipt(); //Se rellena el 'Info' Info info = new Info(); info.setSubject(“Asunto”); // Código de organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism(“ORGXXXXX”); // Tipo de Entry (Entrada(0)/Salida(1)) info.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); // Código de procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType(“xxx”); //Se rellena el 'sender' Organism sender = new Organism(“ORGXXXXX”); //Se rellena el 'senderAgent' Actor senderAgent = new Actor(); senderAgent = new Person(“NIF/CIF”, “Name”, “surmane1”, “surname2”,“Email”, “Adress”); //Se rellena el 'receiver' Actor[] receiver = new Actor[1]; Person person = new Person(); person.setAddress (“Adress”); person.setGivenName(“Name”); person.setMail(“Email”); person.setNif(“NIF/CIF”); person.setSurname1(“surmane1”); person.setSurname2(“surname2”); receiver[0] = person; //Se rellena el 'dataSpecific' Data[] dataList = new Data[3]; dataList[0] = new Data("TypeRegister ", "E"); dataList[1] = new Data("Name2", "Value2"); dataList[2] = new Data(SRTClientConstants.SPECIFIC_DATA_NAME_XXX,"Value3"); //Se rellena el 'request' RequestPromoter request = new RequestPromoter(); request.setMimeType (“Formato”); request.setRequest (null); request.setFileName (“Name”); request.setDetachedSignature(null); request.setFormatSignature (null); paramSendEntryOnlySaveReceipt.setInfo(info); paramSendEntryOnlySaveReceipt.setReceiver(receiver); paramSendEntryOnlySaveReceipt.setSender(sender); paramSendEntryOnlySaveReceipt.setSpecificData(dataList); paramSendEntryOnlySaveReceipt.setInvokingId("NIF"); if(sendSenderAgent){ paramSendEntryOnlySaveReceipt.setSenderAgent(senderAgent); } paramSendEntryOnlySaveReceipt.setRequestPromoter(request); resultSendEntryOnlySaveReceipt = entryClient.sendEntryOnlySaveReceipt(paramSendEntryOnlySaveReceipt); return resultSendEntryOnlySaveReceipt;
1.1.9.- Método 'sendEntryByFileRef'
Alta de asiento registral, desde tecnologías non-Java, mediante SwA. (Método DEPRECADO) Se recomienda utilizar el método sendFullEntry (apartado 1.1.7)
1.1.9.1.- Signatura
ResultSendEntry sendEntryByFileRef(String idApplication,ParamSendEntry param, FileInfo fileInfo, String fileRef) throws RemoteException, SRTException
1.1.9.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Información básica y común | Sí |
request | Request | - | Contenido del documento de solicitud de alta de asiento (fichero PDF, XML, etc.) codificado en Base64 | Sí |
sender | Actor | - | Interesado que envía el asiento | Sí |
senderAgent | Actor | - | Representante del interesado que envía el asiento | No |
receiver | Actor | - | Destinatario al que va dirigido el asiento | Sí |
receiverAgent | Actor | - | Representante del destinatario al que va dirigido el asiento | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Datos específicos asociados | No |
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. | No |
fileInfo | FileInfo | - | Datos del fichero adjunto | Sí |
fileRef | String | 255 caracteres | Identificador (“id”) del contenido del fichero dentro de la petición SOAP de invocación SI 5.5.4.3 ResultSendEntry | Sí |
Info | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
subject | String | 255 caracteres | Asunto | Sí |
reportCode | String | 255 caracteres | Código de informe | No |
requestType | Integer | 1 | Tipo de petición (0 = entrada y 1 = salida) | Sí |
requestTime | Calendar | - | Fecha de presentación | No |
processTime | Calendar | - | Fecha de registro | No |
organism | String | 255 caracteres | Código de organismo | Sí |
register | String | 255 caracteres | Tipo de registro (I = Interno y E = externo) | No |
processType | String | 255 caracteres | Código de procedimiento | Sí |
Request | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
request | String | - | Bytes del archivo en base64 | Sí |
fileName | String | 255 caracteres | Nombre del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
FileInfo | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
name | String | 255 caracteres | Nombre del archivo | Sí |
fileSize | Long | 19 dígitos | Tamaño del archivo | Sí |
description | String | 255 caracteres | Descripción del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
El emisor (Sender), representante del emisor (SenderAgent), receptor/es (Receivers) y representante del receptor(ReceiverAgent) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debería utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Nif | Sí |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.1.9.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
id | String | Número de registro correspondiente al asiento registral realizado |
receipt | Receipt | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Date | Fecha y hora de presentación, primer día hábil desde el alta(pudiendo coincidir), en Registro Telemático |
1.1.9.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
sender | Si el asiento es de salida, el sender debe ser de tipo organism y valor param.info.organism |
receiver | Si el asiento es de entrada, el receiver debe ser de tipo organism y valor info.organism |
info.organism | Se valida que exista el organismo en SIU |
info.register | No es obligatorio ni se tiene en cuenta, será eliminado en un futuro |
info.processType | Se valida que exista el tipo de procedimiento y que se pueda registrar en él organismo indicado |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_TYPE_REGISTER] | El código de registro debe ser verificable. Puede tener los valores “I” para registro interno o “E” para registro externo. Para crear un asiento en un libro de registro interno es necesario que el organismo asociado al asiento tenga como dato extendido "InternalRegister" igual a libro de registro usado para hacer los asientos internos. |
org_code_list_reg_in | Es un alfanumérico, código de registro , son los organismos de registro de entrada asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
org_code_list_reg_out | Es un alfanumérico, código de registro , son los organismos de registro de salida asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
1.1.9.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.1.9.6.- Ejemplo de invocación
ResultSendEntry resultSendEntry = new ResultSendEntry (); ParamSendEntry paramSendEntry = new ParamSendEntry(); ResultSendEntry resultSendEntry = new ResultSendEntry (); ParamSendEntry paramSendEntry = new ParamSendEntry(); Info info = new Info(); Request request = new Request(); Person receiver = new Person(); Actor senderAgent = new Actor(); // Asunto del Entry info.setSubject("Asunto"); // Código de organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism("ORGXXXXX"); // Tipo de Entry (Entrada(0)/Salida(1)) info.setRequestType(SRTClientConstants.REQUEST_TYPE_INPUT); // Fecha de creación del Entry Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); // Código de procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType("xxx"); // Fichero a enviar byte[] arrayFile = FileCopyUtils.copyToByteArray(new File("URLFichero")); String fileSoli = BASE64Encoder.encode(arrayFile); // Firma del fichero a enviar byte[] arraySign = FileCopyUtils.copyToByteArray(new File("URL Firma")); String detachedSignature = BASE64Encoder.encode(arraySign); // Formato del fichero request.setMimeType("Formato"); // Fichero request.setRequest(fileSoli); // Nombre del fichero request.setFileName("Nombre.Extension"); // Firma request.setDetachedSignature(detachedSignature); // Formato de Firma request.setFormatSignature("Formato Firma"); // Organismo Emisor Organism sender = new Organism("ORGXXXXX"); // Datos del Emisor senderAgent = new Person("NIF/CIF","Name","Surname1","Surname2","Email","Address"); // Datos del Destinatario receiver.setAddress("Address"); receiver.setGivenName("Name"); receiver.setMail("Email"); receiver.setNif("NIF/CIF"); receiver.setSurname1("surname1"); receiver.setSurname2("surname2"); Actor[] receiverList = new Actor[1]; receiverList[0] = (Actor)receiver; // Datos específicos Data[] dataList = new Data[2]; dataList[0] = new Data("TypeRegister","E"); dataList[1] = new Data("Name2","Value2"); // Archivo Adjunto File file = new File("URL Adjunto"); FileInfo fileInfo = new FileInfo(); // Nombre Archivo Adjunto fileInfo.setName("Nombre.Extension"); // Descripción Archivo Adjunto fileInfo.setDescription("testing document"); // Tamaño Archivo Adjunto fileInfo.setFileSize(new Long(file.length())); // Formato Archivo Adjunto fileInfo.setMimeType("Formato"); paramSendEntry.setInfo(info); paramSendEntry.setRequest(request); paramSendEntry.setSender(sender); paramSendEntry.setReceiver(receiverList); paramSendEntry.setSpecificData(dataList); paramSendEntry.setSenderAgent (senderAgent); paramSendEntry.setInvokingId(null); resultSendEntry = entryClient.sendEntryByFileRef(paramSendEntry,fileInfo, file);
1.2.- Servicio AdminService
Realiza la consolidación de los asientos registrales entre el sistema telemático y el sistema físico de registro externo y perteneciente a la organización. Para ello se asocian los números de libro de registro de ambos sistemas. En los siguientes apartados se especifican tanto los tipos de datos utilizados, como los métodos que la componen, detallando los parámetros y mostrando ejemplos de uso.
1.2.1.- Método 'consolidateEntries'
1.2.1.1.- Signatura
ResultConsolidateEntries consolidateEntries(String idApplication, ParamConsolidateEntries param)throws RemoteException, SRTException
1.2.1.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
registerId | String | - | Identificador del libro de registro en el que se va a realizar la consolidación de los asientos. | Sí |
consolidationList | EntryConsolidation[] | - | Listado de consolidaciones de los asientos. | Sí |
1.2.1.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
consolidationResult | EntryConsolidatrionResult[] | Listado de resultados de la consolidación de las entradas. |
1.2.1.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.2.1.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.2.1.6.- Ejemplo de invocación
ResultConsolidateEntries resultConsolidateEntries = new ResultConsolidateEntries(); ParamConsolidateEntries param = new ParamConsolidateEntries(); EntryConsolidation[] consolidationList = new EntryConsolidation[1]; EntryConsolidation entryConsolidation = new EntryConsolidation(); // Identificador de consolidación entryConsolidation.setConsolidatedId("PRE_XXXXXXXXX/SUF"); // Identificador de asiento entryConsolidation.setId("PRE_XXXXXXXXX/SUF"); // Tipo: entrada(0), salida(1) entryConsolidation.setRequestType("0"); consolidationList[0] = entryConsolidation; param.setConsolidationList(consolidationList); // Identificador del libro de registro param.setRegisterId("REG_GA"); resultConsolidateEntries = adminClient.consolidateEntries(param);
1.3.- Servicio DraftService
1.3.1.- Método 'createDraft'
Método obsoleto. Para nuevas integraciones se recomienda utilizar el método sendFullEntry de EntryService (apartado 1.1.7)
Alta de borrador sobre el cual se le asociarán los ficheros adjuntos, con bytes.
1.3.1.1.- Signatura
ResultCreateDraft createDraft(String idApplication,ParamCreateDraft param) throws RemoteException, SRTException
1.3.1.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
info | Info | - | Información básica para poder crear el borrador. | Sí |
sender | Actor | - | Interesado que envía el borrador. | Sí |
senderAgent | Actor | - | Representante del interesado que envía el borrador. | No |
receiver | Actor[] | - | Destinatarios a los que va dirigido el borrador. | Sí |
receiverAgent | Actor | - | Representante de los destinatarios a los que va dirigido el borrador. | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Sí |
Info | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
subject | String | 255 caracteres | Asunto | Sí |
reportCode | String | 255 caracteres | Código de informe | No |
requestType | Integer | 1 | Tipo de petición (0 = entrada y 1 = salida) | Sí |
requestTime | Calendar | - | Fecha de presentación | No |
processTime | Calendar | - | Fecha de registro | No |
organism | String | 255 caracteres | Código de organismo | Sí |
register | String | 255 caracteres | Tipo de registro (I = Interno y E = externo) | No |
processType | String | 255 caracteres | Código de procedimiento | Sí |
El emisor (Sender), representante del emisor (SenderAgent), receptor/es (Receivers) y representante del receptor(ReceiverAgent) pueden ser de tipo Person, Organism, Company y UndefinedActor
Solamente se debería utilizar UndefinedActor para el Sender.
Person extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Nif | String | 255 caracteres | Nif | Sí |
Name | String | 255 caracteres | Nombre | No |
Surname1 | String | 255 caracteres | Primer apellido | No |
Surname2 | String | 255 caracteres | Segundo apellido | No |
String | 255 caracteres | Correo | No | |
Address | String | 255 caracteres | Dirección | No |
Organism extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Code | String | 255 caracteres | Código del organismo | Sí |
Name | String | 255 caracteres | Descripción del organismo | Sí |
Company extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Cif | String | 255 caracteres | Cif | Sí |
Name | String | 255 caracteres | Nombre | Sí |
UndefinedActor extends Actor | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
NOTA: En métodos en los que se cree un asiento registral o borrador, solamente se debería utilizar este tipo UndefinedActor para el Sender. Por ejemplo, en un caso en el que el interesado es menor, el Sender (el menor) sería de tipo UndefinedActor y el representante del menor (SenderAgent) que presenta el documento sería de tipo Person. | ||||
code | String | 255 caracteres | Código | Sí |
name | String | 255 caracteres | Nombre | Sí |
1.3.1.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
idDraft | String | Identificador del borrador creado. |
1.3.1.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
sender | Si el asiento es de salida, el sender debe ser de tipo Organism y su valor coincide con info.organism |
receiver | Si el asiento es de entrada, el receiver[0] debe ser el único receptor, debe ser de tipo Organism y coincidir con el valor info.organism. Si el asiento es de salida puede tener varios receptores. |
receiverAgent | Si el asiento es de salida debe ser nulo. |
info.register | No es obligatorio ni se tiene en cuenta, será eliminado en un futuro |
info.processType | Se valida que exista el tipo de procedimiento. Si es nulo, se inicia a “Tramite_Pruebas” |
specificData[SRTClientConstants.SPECIFIC_DATA_NAME_TYPE_REGISTER] | El código de registro debe ser verificable. Puede tener los valores “I” para registro interno o “E” para registro externo. Para crear un asiento en un libro de registro interno es necesario que el organismo asociado al asiento tenga como dato extendido "InternalRegister" igual a libro de registro usado para hacer los asientos internos. |
info.requestTime | Se inicializa durante el proceso de creación del borrador. |
org_code_list_reg_in | Es un alfanumérico, código de registro , son los organismos de registro de entrada asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
org_code_list_reg_out | Es un alfanumérico, código de registro , son los organismos de registro de salida asociados al procedimiento. Si no aparece no esta ligado a ningún organismo en concreto este caso se permite registrar en cualquier organismo. Si aparece el atributo y esta ligado a un organismo concreto de la estructura de organismos se comprueba que el organismo indicado en el atributo coincida con el organismo contra el que se quiere registrar. |
1.3.1.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.3.1.6.- Ejemplo de invocación
ParamCreateDraft paramCreateDraft = new ParamCreateDraft(); ResultCreateDraft resultCreateDraft = new ResultCreateDraft(); Info info = new Info(); //Asunto del Draft info.setSubject("Asunto"); //Código de organismo, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setOrganism("ORGXXXXX"); //Fecha de creación del draft Calendar requestTime = Calendar.getInstance(); info.setRequestTime(requestTime); //Código de procedimiento, es un atributo que el integrador deberá pedir al responsable funcional que le ha solicitado la aplicación info.setProcessType("tramite_pruebas"); // Tipo: entrada(0), salida(1) info.setRequestType("1"); // Creamos el organismo emisor Organism sender = new Organism("ORGXXXXX", "Nombre del Organismo"); // Creamos la persona emisora Actor senderAgent = new Actor(); senderAgent = new Person("NIF/CIF","Name","Surname1","Surname2", "Email","Address"); // Creamos la persona destinataria Actor[] receiver = new Actor[1]; Person person = new Person(); person.setAddress ("Address"); person.setGivenName("Name"); person.setMail("Email"); person.setNif("NIF/CIF"); person.setSurname1("surname1" ); person.setSurname2("surname2" ); receiver[0] = person; // Creamos los datos especificos Data[] data = new Data[1]; data[0] = new Data("TypeRegister","E"); paramCreateDraft.setInfo(info); paramCreateDraft.setSender(sender); paramCreateDraft.setSpecificData(data); Titulo: Manual Integración SRT v3.12 Página 33 de 129 Construyendo Europa desde Aragón paramCreateDraft.setReceiver(receiver); paramCreateDraft.setSenderAgent(senderAgent); resultCreateDraft = draftClient.createDraft(paramCreateDraft);
1.3.2.- Método 'addAttachment'
Método obsoleto. Para nuevas integraciones se recomienda utilizar el método sendFullEntry de EntryService (apartado 1.1.7)
Añadir un fichero adjunto (bytes) al borrador
1.3.2.1.- Signatura
ResultAddAttachment addAttachment(String idApplication, ParamAddAttachment param, DataHandler file) throws RemoteException,SRTException
1.3.2.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
idDraft | String | - | Identificador del borrador al que se desea adjuntar el fichero. | Sí |
fileInfo | FileInfo | - | Datos del fichero adjunto | No |
invokingId | String | 255 caracteres | 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. | No |
FileInfo | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
name | String | 255 caracteres | Nombre del archivo | Sí |
fileSize | Long | 19 dígitos | Tamaño del archivo | Sí |
description | String | 255 caracteres | Descripción del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
1.3.2.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
attachment | String | Identificador del fichero subido |
1.3.2.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
fileInfo | Se comprueba que info no sea nulo |
fileInfo.name | Se comprueba que name no sea una cadena vacía |
fileInfo.name | Se valida que name contenga la extensión del archivo |
fileInfo.mimeType | Se valida que el mimeType o esté vacío |
1.3.2.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.3.2.6.- Ejemplo de invocación
ParamAddAttachment paramAddAttachment = new ParamAddAttachment(); ResultAddAttachment resultAddAttachment = new ResultAddAttachment (); FileInfo fileInfo = new FileInfo(); // URL del fichero a adjuntar FileDataSource dataSource = new FileDataSource(new File("Adjunto")); DataHandler file = new DataHandler(dataSource); // URL de la firma del fichero a adjuntar byte[] arraySign = FileCopyUtils.copyToByteArray(new File("Firma")); String detachedSignature = BASE64Encoder.encode(arraySign); // Nombre del fichero fileInfo.setName("fichero.extension"); // Descripción del fichero fileInfo.setDescription ("testing document"); // Formato del documento fileInfo.setMimeType("text/doc"); // Firma del documento fileInfo.setDetachedSignature (detachedSignature); // Tamaño del documento fileInfo.setFileSize(new Long(dataSource.getFile().length())); // Tipo de Firma fileInfo.setFormatSignature("Formato de Firma"); // Identificador del Draft paramAddAttachment.setIdDraft("idDraft"); paramAddAttachment.setFileInfo(fileInfo); paramAddAttachment.setInvokingId(null); resultAddAttachment = draftClient.addAttachment(paramAddAttachment, file);
1.3.3.- Método 'addAttachmentByFileRef'
Método obsoleto. Para nuevas integraciones se recomienda utilizar el método sendFullEntry de EntryService (apartado 1.1.7)
Añadir un fichero adjunto (bytes) al borrador, desde tecnologías non-Java, mediante SwA (Service with Attachment)
1.3.3.1.- Signatura
ResultAddAttachment addAttachmentByFileRef(String idApplication, ParamAddAttachment param, String fileRef) throws RemoteException, InvalidDataException, SRTException
1.3.3.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
idDraft | String | - | Identificador del borrador al que se desea adjuntar el fichero. | Sí |
fileRef | FileInfo | - | Referencia al adjunto | No |
invokingId | String | 255 caracteres | 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. | No |
fileRef | String | 255 caracteres | Fichero del adjunto SI | Sí |
FileInfo | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
name | String | 255 caracteres | Nombre del archivo | Sí |
fileSize | Long | 19 dígitos | Tamaño del archivo | Sí |
description | String | 255 caracteres | Descripción del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
1.3.3.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
idAttachment | String | Identificador del fichero subido |
1.3.3.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
fileInfo | Se comprueba que info no sea nulo |
fileInfo.name | Se comprueba que name no sea una cadena vacía |
fileInfo.name | Se valida que name contenga la extensión del archivo |
fileInfo.mimeType | Se valida que el mimeType o esté vacío |
content | Se comprueba que content sea distinto de null |
1.3.3.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.3.3.6.- Ejemplo de invocación
ParamAddAttachment paramAddAttachment = new ParamAddAttachment(); ResultAddAttachment resultAddAttachment = new ResultAddAttachment (); FileInfo fileInfo= new FileInfo(); // URL del fichero a adjuntar File file = new File("Adjunto"); // URL de la firma del fichero a adjuntar byte[] arraySign = FileCopyUtils.copyToByteArray("Firma"); String detachedSignature = BASE64Encoder.encode(arraySign); / Nombre del fichero fileInfo.setName("fichero.extension"); // Descripción del fichero fileInfo.setDescription ("testing document"); // Formato del documento fileInfo.setMimeType("text/doc"); // Firma del documento fileInfo.setDetachedSignature (detachedSignature); // Tamaño del documento fileInfo.setFileSize(new Long(dataSource.getFile().length())); // Tipo de Firma fileInfo.setFormatSignature("Formato de Firma"); // Identificador del Draft paramAddAttachment.setIdDraft("idDraft"); paramAddAttachment.setFileInfo(fileInfo); paramAddAttachment.setInvokingId(null); resultAddAttachment = draftClient.addAttachmentByFileRef(paramAddAttachment,file);
1.3.4.- Método 'sendDraft'
Método obsoleto. Para nuevas integraciones se recomienda utilizar el método sendFullEntry de EntryService (apartado 1.1.7)
Finalización del borrador, alta del fichero de solicitud (bytes) y alta del asiento registral correspondiente.
1.3.4.1.- Signatura
ResultSendDraft sendDraft(String idApplication, ParamSendDraft param) throws RemoteException, InternalCoreException, SRTException
1.3.4.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
idDraft | String | - | Identificador del borrador | Sí |
request | Request | - | Contenido del documento de solicitud de alta de asiento (fichero PDF, XML, etc.) codificado en Base64 | No |
invokingId | String | 255 caracteres | 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. | No |
Request | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
request | String | - | Bytes del archivo en base64 | Sí |
fileName | String | 255 caracteres | Nombre del archivo | Sí |
detachedSignature | String | - | Firma del archivo en base64 | Sí |
formatSignature | Long | 19 dígitos | Formato de la firma | Sí |
mimeType | String | 255 caracteres | Tipo de archivo | Sí |
1.3.4.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
idEntry | String | Número de registro correspondiente al asiento registral realizado |
receipt | String | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Calendar | Fecha y hora de presentación, primer día hábil desde el alta (pudiendo coincidir), en Registro Telemático |
1.3.4.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
request | Se comprueba que el objeto request no sea null |
Request.request | Se comprueba que request no sea una cadena vacía |
Request.fileName | Se comprueba que fileName no sea una cadena vacía |
Request.mimeType | Se comprueba que mimeType no sea una cadena vacía |
Request.fileName | Se valida que fileName contenga la extensión del archivo |
1.3.4.5.- Códigos error
Tipo | Descripción |
---|---|
InternalCoreException | Se agrupan todos aquellos errores internos de funcionamiento de SRT. |
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.3.4.6.- Ejemplo de invocación
ParamSendDraft paramSendDraft = new ParamSendDraft(); ResultSendDraft resultSendDraft = new ResultSendDraft(); Request request = new Request(); // URL del fichero byte[] arrayFile = FileCopyUtils.copyToByteArray("Fichero"); String fileSoli = BASE64Encoder.encode(arrayFile); // URL de la firma del fichero byte[] arraySign = FileCopyUtils.copyToByteArray("Firma"); String detachedSignature = BASE64Encoder.encode(arraySign); // Formato del fichero request.setMimeType("Formato"); // Nombre del fichero request.setFileName("Nombre.Extension"); // Fichero a enviar request.setRequest(fileSoli); // Firma del fichero a enviar request.setDetachedSignature(detachedSignature); // Formato de la firma request.setFormatSignature("Formato de Firma"); // Datos Especificos Data[] data = new Data[1]; data[0] = new Data("Name","Value"); // Identificado del Draft paramSendDraft.setIdDraft("idDraft"); paramSendDraft.setRequest(request); paramSendDraft.setSpecificData(data); paramSendDraft.setInvokingId(null); resultSendDraft = draftClient.sendDraft(paramSendDraft);
1.3.5.- Método 'sendFullDraft'
Método obsoleto. Para nuevas integraciones se recomienda utilizar el método sendFullEntry de EntryService (apartado 1.1.7)
Finalización del proceso de elaboración del borrador, alta del fichero de solicitud (contenido) y alta del asiento registral correspondiente.
1.3.5.1.- Signatura
ResultSendFullDraft sendFullDraft(String idApplication, ParamSendFullDraft param) throws RemoteException, SRTException
1.3.5.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
idDraft | String | - | Identificador del borrador | Sí |
requestPromoter | RequestPromoter | - | Datos del Promotor | No |
specificData | Data[] | Clave → 255 caracteres Valor → 255 caracteres | Lista de Datos específicos | No |
invokingId | String | 255 caracteres | 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. | No |
RequestPromoter | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
Promoter | ||||
Promoter/identifierNumber | String | 255 caracteres | Número de identificación | Sí |
Promoter/name | String | 255 caracteres | Nombre | Sí |
Promoter/surname1 | String | 255 caracteres | Primer apellido | No |
Promoter/surname2 | String | 255 caracteres | Segundo apellido | No |
1.3.5.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
idEntry | String | Número de registro correspondiente al asiento registral realizado |
receipt | String | Contenido del documento de justificante de asiento (fichero PDF, XML, etc.) codificado en Base64 y firmado electrónicamente por el sistema telemático |
processTime | Date | Fecha y hora de presentación, primer día hábil desde el alta (pudiendo coincidir), en Registro Telemático |
CSVReceipt | String | CSV del recibo (justificante) de alta de asiento registral |
1.3.5.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código |
requestPromoter | Se comprueba que el objeto requestPromoter no sea null |
RequestPromoter.Name | Se comprueba que Name no sea una cadena vacía |
RequestPromoter.Surname1 | Se comprueba que Surname1 no sea una cadena vacía |
RequestPromoter.Surname2 | Se comprueba que Surname2 no sea una cadena vacía |
1.3.5.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.3.5.6.- Ejemplo de invocación
ParamSendFullDraft paramSendFullDraft = new ParamSendFullDraft(); ResultSendFullDraft resultSendFullDraft = new ResultSendFullDraft(); Promoter promoter=new Promoter(); RequestPromoter request = new RequestPromoter(); //Fichero sin firma byte[] arrayFile = FileCopyUtils.copyToByteArray(new File(new File (".").getCanonicalPath()+"URL del fichero")); String fileSoli = BASE64Encoder.encode(arrayFile); // Firma del fichero byte[] arraySign = FileCopyUtils.copyToByteArray(new File(new File (".").getCanonicalPath()+"URL de la firma")); String detachedSignature = BASE64Encoder.encode(arraySign); // NIF/CIF del promotor promoter.setIdentifierNumber("NIF/CIF"); // Nombre del promotor promoter.setName("Name"); // Primer Apellido del promotor promoter.setSurname1("Surmane1"); // Segundo Apellido del promotor promoter.setSurname2("Surname2"); // Formato del Fichero request.setMimeType("Formato Fichero"); // Nombre del Fichero request.setFileName("Nombre Fichero"); // Fichero request.setRequest(fileSoli); // Firma del Fichero request.setDetachedSignature(detachedSignature); // Formato de la Firma request.setFormatSignature ("Formato Firma"); // Promotor request.setPromoter(promoter); Titulo: Manual Integración SRT v3.12 Página 42 de 129 Construyendo Europa desde Aragón // Datos Especificos Data[] data = new Data[1]; data[0] = new Data("Name", "Value"); //Identificador del Draft paramSendFullDraft.setIdDraft ("idDraft"); paramSendFullDraft.setRequestPromoter(request); paramSendFullDraft.setSpecificData(data); paramSendFullDraft.setInvokingId(null); resultSendFullDraft = draftClient.sendFullDraft(paramSendFullDraft);
1.4.- Servicio InfoService
1.4.1.- Método 'listOrganism (ParamListOrganism)'
Devuelve la información (código/nombre) de un organismo y sus “hijos”. Obtiene organismos que contengan el dato extendido "srtCode". (Método DEPRECADO) Se debe utilizar el servicio organismTree que proporciona la aplicación Sistema de Identificación de Usuarios (SIU)
1.4.1.1.- Signatura
ResultListOrganisms listOrganism(String idApplication,ParamListOrganism param) throws RemoteException, SRTException
1.4.1.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
organismCode | String | - | Código organismo SIU del cual se desean obtener los organismos hijos. Si no se especifica ninguno (null), se obtienen todos los organismos habilitados para esa aplicación. Este código de Organismo puede cambiar en el futuro cuando cambie la estructura de organismos. | No |
1.4.1.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
ResultListOrganisms | ||
ResultListOrganisms/organisms | OrganismInfo[] | Listado de organismos |
1.4.1.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.4.1.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.4.1.6.- Ejemplo de invocación
ParamListOrganism paramListOrganism = new ParamListOrganism(); ResultListOrganisms resultListOrganisms = new ResultListOrganisms(); //Código de Organismo paramListOrganism.setOrganismCode("ORGXXXXX"); resultListOrganisms = infoClient.listOrganism(paramListOrganism);
1.4.2.- Método 'listRegisters'
Devuelve la información (código/nombre) de los libros de registro sobre los que puede registrar para un organismo. (Método DEPRECADO) Se recomienda utiliza el método fullListRegisters (apartado 1.4.3)
1.4.2.1.- Signatura
ResultListRegisters listRegisters(String idApplication, ParamListRegisters param) throws RemoteException, SRTException
1.4.2.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
organismCode | String | - | Código administrativo del organismo que se recupera de SIU. Este código de Organismo puede cambiar en el futuro cuando cambie la estructura de organismos. | No |
1.4.2.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
register | Register[] | Listado de libros de registro |
1.4.2.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.4.2.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.4.2.6.- Ejemplo de invocación
ParamListRegisters paramListRegisters = new ParamListRegisters(); ResultListRegisters resultListRegisters = new ResultListRegisters(); resultListRegisters = infoClient.listRegisters(paramListRegisters);
1.4.3.- Método 'fullListRegisters'
Devuelve la información de los libros de registro sobre los que puede registrar para un organismo.
1.4.3.1.- Signatura
ResultFullListRegisters fullListRegisters(String idApplication, ParamFullListRegisters param) throws RemoteException, SRTException
1.4.3.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
organismCode | String | - | Código administrativo del organismo que se recupera de SIU. Este código de Organismo puede cambiar en el futuro cuando cambie la estructura de organismos. | No |
enabled | Boolean | - | Accesibilidad de los libros de registro activado = true desactivado = false | No |
exteriorVisible | Boolean | - | Visibilidad de los libros de registro visible exterior = true no visible exterior = false | No |
1.4.3.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
fullRegisters | FullRegister[] | Listado de libros de registro(código, nombre, activado, visible exterior) |
1.4.3.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.4.3.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.4.3.6.- Ejemplo de invocación
ParamFullListRegisters paramFullListRegisters = new ParamFullListRegisters(); ResultFullListRegisters resultFullListRegisters = new ResultFullListRegisters(); resultFullListRegisters = infoClient.fullListRegisters(paramFullListRegisters);
1.4.4.- Método 'listOrganism (ParamListOrganismSIU)'
Devuelve la información (código/nombre) de un organismo y sus “hijos”. En este caso no tiene en cuenta el dato extendido "srtCode". (Método DEPRECADO) Se debe utilizar el servicio organismTree que proporciona la aplicación Sistema de Identificación de Usuarios (SIU)
1.4.4.1.- Signatura
ResultListOrganismsSIU listOrganism(String idApplication,ParamListOrganismSIU param) throws RemoteException, SRTException
1.4.4.2.- Parámetros de invocación
Nombre | Tipo | Longitud máxima | Descripción | Obligatorio |
---|---|---|---|---|
organismCode | String | - | Código organismo SIU del cual se desean obtener los organismos hijos. Si no se especifica ninguno (null), se obtienen todos los organismos habilitados para esa aplicación. Este código de Organismo puede cambiar en el futuro cuando cambie la estructura de organismos. | No |
1.4.4.3.- Parámetros de respuesta
Nombre | Tipo | Descripción |
---|---|---|
ResultListOrganismsSIU | ||
ResultListOrganismsSIU/organisms | OrganismInfo[] | Listado de organismos |
1.4.4.4.- Validaciones
Nombre | Descripción |
---|---|
idApplication | Se valida que existe una aplicación dada de alta con ese código. |
1.4.4.5.- Códigos error
Tipo | Descripción |
---|---|
SRTException | Error en la operación. |
RemoteException | Error remoto. |
1.4.4.6.- Ejemplo de invocación
ParamListOrganismSIU paramListOrganismSIU = new ParamListOrganismSIU(); ResultListOrganismsSIU resultListOrganismsSIU = new ResultListOrganismsSIU(); //Código de Organismo paramListOrganismSIU.setOrganismCode("ORGXXXXX"); resultListOrganismsSIU = infoClient.listOrganism(paramListOrganismSIU);
1.5.- Manejo de excepciones
A continuación se muestra un ejemplo de captura de excepciones de los servicios SOAP de SRT.
try { log.info("BEGIN SRT EntryClient.sendFullEntry"); resultSendEntry = entryClient.sendFullEntry(paramSendFullEntry, null, null); log.info("END SRT EntryClient.sendFullEntry"); } catch (SRTException e) { String extraInfo = e.getCode() + ":" + e.getExtraInfo(); //Obtenemos el código y la información del error }
1.6.- Servicio SRT (OBSOLETO)
Todos los métodos de este servicio han quedado obsoletos.
Los métodos son los siguientes:
- solicitudRegistro
- listadoRegistro
- detalleRegistro
- obtenerOrganismosYTramites
- No labels