GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA

Documentos relacionados
Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 4. Excepciones en Java

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Práctica 4: Java Remote Method Invocation (RMI)

Ejercicios de Programación Tema 7. Programación Orientada a Objetos

Construcciones del Lenguaje Java

Manual del Protocolo XML-RPC de Mensajería Negocios

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Introducción Descripción del servicio

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream.

Introducción Entorno de ejecución Referencias Descripción del servicio

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

Un breve resumen del lenguaje Java

Práctica 7: Invocación Web Services con REST

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

UNIVERSIDAD DISTRITAL FRANCSICO JOSE DE CALDAS FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS PROGRAMACION AVANZADA TALLER DE CONEXIÓN A BASES DE DATOS

Modelo de Objetos Distribuidos

Prueba N o 1. Programación II

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.

Guía - Taller # 2 (JAVA)

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Introducción al lenguaje Java

Primer Parcial Septiembre 5 de 2009

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial.

Tema: Estructuras de Selección en C#.

Universidad Carlos III de Madrid Ingeniería de Telecomunicación. Examen de Programación Febrero Parte de Ejercicios

4. Operadores Operador asignación

Ficheros de acceso aleatorio

Práctica 2: Java Remote Method Invocation (RMI)

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Ejercicios resueltos de programación

Repaso de las características más importantes de la programación Java y su adaptación a Android

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

Tutorial 1: Desarrollo de un plugin

JAVA RMI (REMOTE METHOD INVOCATION)

Ejercicios de evaluación de fundamentos de programación en Java

CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda

PROGRAMACION DISTRIBUIDA

Tema 5 Tabla de Símbolos

Servicios Web: Concepto

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

Examen de Prácticas de Programación Ingeniería Informática

Metodología y Tecnología de la Programación

WEB SERVICES. Manual técnico para desarrollador

Introducción a Java (2)

Práctica III: Streams, Readers y Writers

Práctica sobre compartición de instancias remotas.

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

Manejo de Excepciones

Elementos léxicos del lenguaje de programación Java

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Ejercicios de tratamiento de errores

Práctica 5: Servidor web concurrente en Java

PHP: Lenguaje de programación

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina

JAVA - Serializacíon / RMI. (C) Philippe Roose , 2005

Tema 14: Excepciones

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Especificaciones del driver JDBC

Programación Android. Rafael Morón Abad

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS

Metodología y Tecnología de la Programación

Tema 15: Aserciones 0

Tema 5 Corrección y Robustez Excepciones en Java

UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión

James Gosling, creador de Java

StringBuffer, Math y Wrapper

Luego lleve el cliente a otra máquina y ejecute desde ahí usando el nombre de la máquina del servidor.

Transcripción:

MODULO COMÚN DE ALMACENAMIENTO TEMPORAL DE SOLICITUDES (MCAT) MANUAL DE USO

Página 2 de 37 ÍNDICE ÍNDICE...2 1. CONTROL DEL DOCUMENTO...3 1.1. HISTÓRICO DE REVISIONES...3 2. INTRODUCCIÓN...4 3. CLASES PARA EL ACCESO AL MÓDULO COMÚN DE ALMACENAMIENTO TEMPORAL...4 3.1. ES_PRINCAST_MCAT_BUSINESS_VO_ANEXOVO...4 3.2. ES_PRINCAST_MCAT_BUSINESS_VO_AUTORIZADOVO...5 3.3. ES_PRINCAST_MCAT_BUSINESS_VO_SOLICITUDVO...5 3.4. ES_PRINCAST_MCAT_BUSINESS_VO_RESULTADOVO...6 3.5. MCATSERVICEPROXY...8 4. LIBRERÍAS NECESARIAS PARA LA COMPILACIÓN Y EJECUCIÓN DE UNA APLICACIÓN CLIENTE.17 5. EJEMPLOS DE APLICACIÓN CLIENTE...17 5.1. CREACIÓN DE SOLICITUD...17 5.2. MODIFICACIÓN DE LA INFORMACIÓN GENERAL DE UNA SOLICITUD...20 5.3. MODIFICACIÓN DE LA INFORMACIÓN GENERAL Y PARTICULAR DE UNA SOLICITUD...21 5.4. BORRADO DE UNA SOLICITUD...23 5.5. LISTADO DE LA INFORMACIÓN GENERAL DE SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE...24 5.6. LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL REPRESENTANTE...25 5.7. LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE O DEL REPRESENTANTE...26 5.8. LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE Y DEL REPRESENTANTE...27 5.9. LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL AUTORIZADO...28 5.10. LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE...29 5.11. LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL REPRESENTANTE...30 5.12. LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE O DEL REPRESENTANTE...31 5.13. LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE Y DEL REPRESENTANTE...32 5.14. LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL AUTORIZADO...33 5.15. OBTENCIÓN DE LA INFORMACIÓN GENERAL Y PARTICULAR DE UNA SOLICITUD...34 5.16. ASOCIACIÓN DE UN ANEXO A UNA SOLICITUD...34 5.17. OBTENCIÓN DE UN ANEXO ASOCIADO A UNA SOLICITUD...35 5.18. BORRADO DE UN ANEXO ASOCIADO A UNA SOLICITUD...37

Página 3 de 37 1. Control del documento 1.1. Histórico de revisiones Versión Fecha Autor Unidad o Departamento / Empresa Observaciones 0.1 13/07/2006 Capgemini Capgemini Primera versión

Página 4 de 37 2. Introducción El objetivo del siguiente documento es servir de guía para el uso del Módulo Común de Almacenamiento Temporal de Solicitudes, que permite el mantenimiento de solicitudes temporalmente. La comunicación entre las aplicaciones cliente y el Módulo Común de Almacenamiento Temporal se realiza a través de un servicio web. Para facilitar la utilización del servicio web se proporciona la librería mcatservice.jar que encapsula un proxy. 3. Clases para el acceso al Módulo Común de Almacenamiento Temporal El fichero mcatservice.jar contiene las siguientes clases para poder utilizar el Módulo Común de Almacenamiento Temporal: McatServiceProxy: Proxy de acceso al sistema. Proporciona los métodos de acceso para el mantenimiento de las solicitudes en el almacenamiento temporal. es_princast_mcat_business_vo_anexovo. Representa una entidad anexo a una solicitud es_princast_mcat_business_vo_autorizadovo. Representa una entidad tercero autorizado a utilizar la solicitud es_princast_mcat_business_vo_solicitudvo. Representa una solicitud es_princast_mcat_business_vo_resultadovo. Resultado de la ejecución de la llamada a un método A continuación se proporciona una descripción detallada de dichas clases: 3.1. es_princast_mcat_business_vo_anexovo Representa un anexo de una solicitud. Las propiedades de esta clase son: String m_idanexo: Identificador del anexo. Accesible en modo lectura y escritura a través de los métodos getidanexo() y setidanexo(string). String m_idsolicitud:identificador de la solicitud a la que está asociado el anexo. Accesible en modo lectura y escritura a través de los métodos getidsolicitud() y setidsolicitud(string). String m_idcontenido: Identificador del contenido. Accesible en modo lectura y escritura a través de los métodos getidanexo() y setidanexo(string). String m_nombre:nombre del anexo. Accesible en modo lectura y escritura a través de los métodos getnombre() y setnombre(string).

Página 5 de 37 DataHandler m_contenido:contenido del anexo en formato texto o binario. Accesible en modo lectura y escritura a través de los métodos getcontenido() y setcontenido(string). String m_contenttype:content type del anexo. Accesible en modo lectura y escritura a través de los métodos getcontenttype () y setcontenttype(string). String m_hash:hash del anexo. Accesible en modo lectura y escritura a través de los métodos gethash() y sethash(string). 3.2. es_princast_mcat_business_vo_autorizadovo Representa un autorizado de una solicitud. Las propiedades de esta clase son: String m_idtercero: identificador de tercero del autorizado. Accesible en modo lectura y escritura a través de los métodos getidtercero() y setidtercero(string). String m_rol:rol del autorizado. Accesible en modo lectura y escritura a través de los métodos getrol() y setrol(string). String m_idsolicitud:identificador de la solicitud a la que está asociado el autorizado. Accesible en modo lectura y escritura a través de los métodos getidsolicitud() y setidsolicitud(string). 3.3. es_princast_mcat_business_vo_solicitudvo Representa una solicitud. Las propiedades de esta clase son: String m_idsolicitud: identificador de la solicitud. Accesible en modo lectura y escritura a través de los métodos getidsolicitud() y setidsolicitud(string). String m_idsistema:identificador del sistema. Accesible en modo lectura y escritura a través de los métodos getsistema() y setsistema(string). String m_idprocedimiento:identificador del procedimiento. Accesible en modo lectura y escritura a través de los métodos getidprocedimiento() y setidprocedimiento(string). String m_idtercerosolicitante:identificador de tercero del solicitante. Accesible en modo lectura y escritura a través de los métodos getidtercerosolicitante() y setidtercerosolicitante (String). String m_idtercerorepresentante:identificador de tercero del representante. Accesible en modo lectura y escritura a través de los métodos getidtercerorepresentante() y setidtercerorepresentante(string).

Página 6 de 37 String m_estado:estado de la solicitud. Accesible en modo lectura y escritura a través de los métodos getestado() y setestado(string). String m_descripcion:descripción de la solicitud. Accesible en modo lectura y escritura a través de los métodos getdescripcion() y setdescripcion(string). String m_informacionparticular:información particular de la solicitud. Accesible en modo lectura y escritura a través de los métodos getinformacionparticular() y setinformacionparticular(string). Date m_fechacreacion:fecha de creación de la solicitud. Accesible en modo lectura y escritura a través de los métodos getfechacreacion() y setfechacreacion(date). Date m_fechamodificacion:fecha de modificación de la solicitud. Accesible en modo lectura y escritura a través de los métodos getfechamodificacion() y setfechamodificacion(date). Date m_fechaprevistaborrado:fecha prevista de borrado de la solicitud. Accesible en modo lectura y escritura a través de los métodos getfechaprevistaborrado () y setfechaprevistaborrado (Date). es_princast_mcat_business_vo_anexovo[] m_listanexos:lista de anexos de la solicitud. Accesible en modo lectura y escritura a través de los métodos getlistanexos() y setlistanexos(anexovo[]). es_princast_mcat_business_vo_autorizadosvo[] m_listautorizados:lista de autorizados de la solicitud. Accesible en modo lectura y escritura a través de los métodos getlistautorizados() y setlistautorizados(anexovo[]). 3.4. es_princast_mcat_business_vo_resultadovo Representa el resultado de una llamada a un método del servicio. Las propiedades de esta clase son: String m_wasok: flag indicador de si hubo error o excepción en la ejecución del servicio. Accesible en modo lectura y escritura a través de los métodos getwasok() y setwasok(string). String m_coderror:en caso de error, código de éste. Accesible en modo lectura y escritura a través de los métodos getcoderror() y setcoderror(string). Ver Tabla 1. Constantes de error y descripción en la página 7 String m_descripcionerror:en caso de error, descripción de éste. Accesible en modo lectura y escritura a través de los métodos getdescripcionerror() y setdescripcionerror(string). Ver Tabla 1. Constantes de error y descripción en la página 7 String m_idsolicitud:resultado del método createsolicitud, identificador de solicitud creada. Accesible en modo lectura y escritura a través de los métodos getidsolicitud() y setidsolicitud(string).

Página 7 de 37 es_princast_mcat_business_vo_solicitudvo m_solicitud:resultado del método retrievesolicitud, entidad Solicitud solicitada. Accesible en modo lectura y escritura a través de los métodos getsolicitud() y setsolicitud(solicitudvo). es_princast_mcat_business_vo_solicitudvo[] m_listasolicitudes:resultado de los métodos listxxxxsolicitud, lista de solicitudes que cumplen el filtro. Accesible en modo lectura y escritura a través de los métodos getlistasolicitudes() y setlistasolicitudes(solicitudvo[]). es_princast_mcat_business_vo_anexovo m_anexo:resultado del método retrieveanexo, entidad Anexo solicitado. Accesible en modo lectura y escritura a través de los métodos getanexo() y setanexo(anexovo). Los posibles códigos de error y descripciones que se pueden obtener son los siguientes: m_coderror ERROR_CAMPO_OBLIGATORIO ERROR_CAMPO_ENTERO ERROR_CAMPO_LARGO EXCEPTION_SOLICITUDMANAGER_CREATE EXCEPTION_SOLICITUDMANAGER_UPDATE EXCEPTION_SOLICITUDMANAGER_DELETE EXCEPTION_SOLICITUDMANAGER_RETRIEVE EXCEPTION_SOLICITUDMANAGER_CLEAN EXCEPTION_SOLICITUDMANAGER_LIST EXCEPTION_ANEXOMANAGER_CREATE EXCEPTION_ANEXOMANAGER_DELETE EXCEPTION_ANEXOMANAGER_RETRIEVE ERROR_INFORMACION_PARTICULAR_NO_SIGUE_ES QUEMA ERROR_LISTA_AUTORIZADOS_NULA ERROR_TIPO_SOLICITUD_INEXISTENTE ERROR_TIPO_SOLICITUD_INCORRECTO ERROR_SOLICITUD_INEXISTENTE ERROR_ANEXO_INEXISTENTE ERROR_CONTENIDO_INEXISTENTE ERROR_INFORMACION_PARTICULAR_INCORRECTA ERROR_TIPO_SOLICITUD_CADUCADO ERROR_TECNICO_TERCEROS ERROR_TERCERO_NO_EXISTE m_descripcionerror {0 es obligatorio [Nota: {0 es el nombre del campo] {0 debe ser de tipo entero [Nota: {0 es el nombre del campo] {0 debe tener un máximo de {1 caracteres [Nota: {0 es el nombre del campo y {1 el número de caracteres máximo] Error técnico al crear una nueva solicitud Error técnico al actualizar una solicitud Error técnico al borrar una solicitud Error técnico al obtener una solicitud Error técnico al borrar solicitudes caducadas Error técnico al listar solicitudes Error técnico al crear un nuevo anexo Error técnico al borrar un anexo Error técnico al obtener un anexo Información particular no sigue el esquema La lista de autorizados no puede ser nula No existe el tipo de solicitud El tipo de solicitud es incorrecto No existe la solicitud No existe el anexo No existe el contenido La informacion particular no sigue el esquema establecido La fecha actual es mayor o igual que la fecha de borrado del tipo asociado a la solicitud Se ha producido un error en el módulo de terceros No existe el identificador de tercero Tabla 1. Constantes de error y descripción

Página 8 de 37 3.5. McatServiceProxy Proxy que encapsula los servicios accesibles a través del Módulo Común de Almacenamiento Temporal. Los métodos públicos de este interface son: createsolicitud(es_princast_mcat_business_vo_solicitudvo solicitud): crea una nueva solicitud. Recibe como parámetro la solicitud a crear. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá en el atributo m_idsolicitud el identificador de la solicitud creada. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_idtercerosolicitante: Identificador de tercero del solicitante. o m_idtercerorepresentante: Identificador de tercero del representante. Este campo puede ser nulo o cadena vacía si no hay representante. o m_estado: Estado de la solicitud. o m_descripcion: Descripción de la solicitud. o m_informacionparticular: Información particular de la solicitud. Debe validar contra el esquema mcat.xsd o m_listautorizados: Lista de autorizados. Si la solicitud no tiene ningún autorizado la lista tendrá cero elementos (no puede ser nula). updatepartialsolicitud(es_princast_mcat_business_vo_solicitudvo solicitud): modifica la información general de una solicitud. Recibe como parámetro la solicitud a la que se le va a modificar la información general. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema.

Página 9 de 37 o m_idprocedimiento: Identificador del procedimiento. o m_idtercerosolicitante: Identificador de tercero del solicitante. o m_idtercerorepresentante: Identificador de tercero del representante. o m_estado: Estado de la solicitud. o m_descripcion: Descripción de la solicitud. o m_listautorizados: Lista de autorizados. Si la solicitud no tiene ningún autorizado la lista tendrá cero elementos (no puede ser nula). updatefullsolicitud(es_princast_mcat_business_vo_solicitudvo solicitud): modifica la información general y particular de una solicitud. Recibe como parámetro la solicitud que se va a modificar. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_ descripcionerror la descripción del mismo. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_idtercerosolicitante: Identificador de tercero del solicitante. o m_idtercerorepresentante: Identificador de tercero del representante. o m_estado: Estado de la solicitud. o m_descripcion: Descripción de la solicitud. o m_listautorizados: Lista de autorizados. Si la solicitud no tiene ningún autorizado la lista tendrá cero elementos (no puede ser nula). o m_informacionparticular: Información particular de la solicitud. deletesolicitud(es_princast_mcat_business_vo_solicitudvo solicitud): borra una solicitud. Recibe como parámetro la solicitud a eliminar. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idsolicitud: Identificador de la solicitud.

Página 10 de 37 o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. retrievesolicitud(es_princast_mcat_business_vo_solicitudvo solicitud): devuelve una solicitud. Recibe como parámetro la solicitud a obtener. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá la solicitud obtenida en el atributo m_solicitud, si no existe se devuelve null. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. listpartialbyidtercerosolicitante(es_princast_mcat_business_vo_ SolicitudVO solicitud): devuelve un listado con la información general de las solicitudes filtradas por un identificador de tercero de solicitante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idtercerosolicitante: Identificador de tercero del solicitante. Los campos opcionales serán: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listpartialbyidtercerorepresentante(es_princast_mcat_business_v o_solicitudvo solicitud): devuelve un listado con la información general de las

Página 11 de 37 solicitudes filtradas por un identificador de tercero de representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios serán: o m_idtercerorepresentante: Identificador de tercero del representante. Los campos opcionales serán: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listpartialbyidtercerosolicitanteorrepresentante(es_princast_mc at_business_vo_solicitudvo solicitud): devuelve un listado con la información general de las solicitudes en las que un identificador de tercero figure como solicitante o como representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Se utilizará el identificador de tercero de solicitante para el filtro, por lo que éste será obligatorio: o m_idtercerosolicitante: Identificador de tercero del solicitante Este valor será el utilizado para buscar aquellas solicitudes en las que dicho identificador sea solicitante o representante. Los campos opcionales serán: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro.

Página 12 de 37 listpartialbyidtercerosolicitanteandrepresentante(es_princast_m cat_business_vo_solicitudvo solicitud): devuelve un listado con la información general de las solicitudes filtradas por un identificador de tercero de solicitante y de representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios son los siguientes, teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idtercerosolicitante: Identificador de tercero del solicitante. o m_idtercerorepresentante: Identificador de tercero del representante. Los campos opcionales serán: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listpartialbyidterceroautorizado(es_princast_mcat_business_vo_s olicitudvo solicitud, es_princast_mcat_business_vo_autorizadovo autorizado): devuelve un listado con la información general de las solicitudes filtradas por un identificador de tercero de autorizado. Recibe como parámetro el patrón de solicitud y el de autorizado para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios de Autorizado serán: o m_idtercero: Identificador de tercero del autorizado. Los campos opcionales de Autorizado serán: o m_rol: Rol del autorizado.

Página 13 de 37 Los campos opcionales de Solicitud son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listfullbyidtercerosolicitante(es_princast_mcat_business_vo_sol icitudvo solicitud): devuelve un listado con la información general y particular de las solicitudes filtradas por un identificador de tercero de solicitante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios serán: o m_idtercerosolicitante: Identificador de tercero del solicitante. Los campos opcionales son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listfullbyidtercerorepresentante(es_princast_mcat_business_vo_s olicitudvo solicitud): devuelve un listado con la información general y particular de las solicitudes filtradas por un identificador de tercero de representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios serán: o m_idtercerorepresentante: Identificador de tercero del representante.

Página 14 de 37 Los campos opcionales son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listfullbyidtercerosolicitanteorrepresentante(es_princast_mcat_ business_vo_solicitudvo solicitud): devuelve un listado con la información general y particular de las solicitudes en las que un identificador de tercero figure como solicitante o como representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Se utilizará el identificador de tercero de solicitante para el filtro, por lo que éste será obligatorio: o m_idtercerosolicitante: Identificador de tercero del solicitante Este valor será el utilizado para buscar aquellas solicitudes en las que dicho identificador sea solicitante o representante. Los campos opcionales son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listfullbyidtercerosolicitanteandrepresentante(es_princast_mcat _business_vo_solicitudvo solicitud): devuelve un listado con la información general y particular de las solicitudes filtradas por un identificador de tercero de solicitante y de representante. Recibe como parámetro el patrón de solicitud para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios serán:

Página 15 de 37 o m_idtercerosolicitante: Identificador de tercero del solicitante. o m_idtercerorepresentante: Identificador de tercero del representante. Los campos opcionales son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. listfullbyidterceroautorizado(es_princast_mcat_business_vo_soli citudvo solicitud, es_princast_mcat_business_vo_autorizadovo autorizado): devuelve un listado con la información general y particular de las solicitudes filtradas por un identificador de tercero de autorizado. Recibe como parámetro el patrón de solicitud y el de autorizado para realizar la búsqueda. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá el listado obtenido en el atributo m_listasolicitudes, si no hay ninguna solicitud que cumpla el patrón la lista tendrá 0 elementos. Los campos obligatorios de Autorizado serán: o m_idtercero: Identificador de tercero del autorizado. Los campos opcionales de Autorizado serán: o m_rol: Rol del autorizado. Los campos opcionales de Solicitud son los siguientes: o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. o m_estado: Estado de la solicitud. En estos campos opcionales cualquier cosa distinta de null actuará como filtro. joinanexo(es_princast_mcat_business_vo_solicitudvo solicitud, es_princast_mcat_business_vo_anexovo anexo): asocia un anexo a una solicitud. Recibe como parámetro la solicitud a la que se asociará el anexo, y el anexo que se quiere asociar. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo.

Página 16 de 37 Los campos obligatorios de Solicitud serán: o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. Los campos obligatorios de Anexo son los siguientes teniendo en cuenta que los que son de tipo String no pueden ser nulos ni cadenas vacías: o m_idanexo: Identificador del anexo. o m_nombre: Nombre del anexo. o m_contenttype: Content-type del anexo. o m_contenido: Contenido del anexo en formato texto o binario retrieveanexo(es_princast_mcat_business_vo_solicitudvo solicitud, es_princast_mcat_business_vo_anexovo anexo): devuelve un anexo de una solicitud. Recibe como parámetro la solicitud a la que pertenece el anexo a obtener, y el anexo que se quiere obtener. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. En caso de éxito se devolverá en el atributo m_anexo el Anexo solicitado. Los campos obligatorios de Solicitud serán: o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. Los campos obligatorios de Anexo serán: o m_idanexo: Identificador del anexo. deleteanexo(es_princast_mcat_business_vo_solicitudvo solicitud, es_princast_mcat_business_vo_anexovo anexo): borra un anexo de una solicitud. Recibe como parámetro la solicitud a la que pertenece el anexo a eliminar, y el anexo que se quiere borrar. Retorna un objeto es_princast_mcat_business_vo_resultadovo devolviendo true en el atributo m_wasok si todo fue correcto y false en caso contrario. En caso de error se indicará en el atributo m_coderror el código del error, y en m_descripcionerror la descripción del mismo. Los campos obligatorios de Solicitud serán:

Página 17 de 37 o m_idsolicitud: Identificador de la solicitud. o m_idsistema: Identificador del sistema. o m_idprocedimiento: Identificador del procedimiento. Los campos obligatorios de Anexo serán: o m_idanexo: Identificador del anexo. 4. Librerías necesarias para la compilación y ejecución de una aplicación cliente Para que compile y se ejecute una aplicación cliente que quiera utilizar el proxy de comunicación con el servicio del módulo común de almacenamiento de solicitudes se distribuyen los siguientes ficheros *.JAR: activation.jar http_client.jar javax-ssl-1_1.jar jsse.jar jssl-1_1.jar mail.jar mcatservice.jar proxy del Módulo Común de Almacenamiento Temporal soap.jar wsdl.jar xmlparserv2.jar 5. Ejemplos de aplicación cliente Nota: Se puede consultar el WSDL del servicio web, así como obtener el proxy en modo binario mcatservice.jar o en modo fuente mcatservice.zip con todos los *.java en la siguiente URL: http://nombreservidor:puerto/mcat, donde nombreservidor y puerto deberán ser actualizados según la máquina donde esté desplegado el servicio web. 5.1. Creación de solicitud import java.io.file; import java.io.fileoutputstream; import javax.activation.datahandler; import javax.activation.datasource; import org.apache.soap.util.mime.bytearraydatasource; import es.princast.mcat.service.proxy.mcatserviceproxy; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_anexovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_autorizadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_resultadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_solicitudvo; public class ClienteMcat { private McatServiceProxy proxy = new McatServiceProxy(); private void createsolicitud() throws Exception{

Página 18 de 37 es_princast_mcat_business_vo_solicitudvo solicitud = new solicitud.setidsistema("99"); solicitud.setidprocedimiento("12"); solicitud.setidtercerosolicitante("1"); solicitud.setidtercerorepresentante("2"); es_princast_mcat_business_vo_autorizadovo autorizado1 = new es_princast_mcat_business_vo_autorizadovo(); autorizado1.setidtercero("1"); autorizado1.setrol("rol1"); es_princast_mcat_business_vo_autorizadovo autorizado2 = new es_princast_mcat_business_vo_autorizadovo(); autorizado2.setidtercero("2"); autorizado2.setrol("rol2"); es_princast_mcat_business_vo_autorizadovo[] listaautorizado = new es_princast_mcat_business_vo_autorizadovo[]{autorizado1, autorizado2; solicitud.setlistautorizados(listaautorizado); solicitud.setestado("estado"); solicitud.setdescripcion("descripcion"); BufferedReader buffer = new BufferedReader(new FileReader(new File("C:/fichero.xml"))); StringBuffer infpart = new StringBuffer(); String linea = null; linea = buffer.readline(); while (linea!=null) { infpart.append(linea); infpart.append("\n"); linea = buffer.readline(); solicitud.setinformacionparticular(infpart.tostring()); es_princast_mcat_business_vo_resultadovo resultado = this.proxy.createsolicitud(solicitud); if (resultado.getwasok().booleanvalue()){ System.err.println("createSolicitud ejecutado con éxito"); System.err.println("El codigo de la solicitud creada es " + resultado.getidsolicitud()); else { System.err.println("Fallo en la ejecucion de createsolicitud"); System.err.println("El codigo de error es " + resultado.getcoderror()); System.err.println("La descripciones del error es " + resultado.getdescripcionerror()); public static void main(string args[]){ try{ ClienteMcat cliente = new ClienteMcat(); cliente.proxy._setsoapurl("http://localhost:7777/mcat/mcatservice");// Especificar el dns y puerto del servidor donde está desplegado el servicio web cliente.createsolicitud(); catch(exception ex){ ex.printstacktrace(); Donde fichero.xml puede ser, por ejemplo, un fichero como el que sigue: <?xml version="1.0" encoding="utf-8"?> <mcat:solicitud xmlns:mcat="http://www.princast.es/mcat"> <mcat:solicitante> <mcat:personafisica> <mcat:idterceropersonafisica>idtercero</mcat:idterceropersonafisica> <mcat:nombre>token</mcat:nombre> <mcat:primerapellido>token</mcat:primerapellido>

Página 19 de 37 <mcat:segundoapellido>token</mcat:segundoapellido> <mcat:nif_nie>token</mcat:nif_nie> <mcat:fechanacimiento>token</mcat:fechanacimiento> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:mediocontacto> <mcat:direccionpostal> <mcat:codvia>token</mcat:codvia> <mcat:nombrevia>token</mcat:nombrevia> <mcat:numerovia>token</mcat:numerovia> <mcat:bloque>token</mcat:bloque> <mcat:escalera>token</mcat:escalera> <mcat:piso>token</mcat:piso> <mcat:puerta>token</mcat:puerta> <mcat:codigopostal>token</mcat:codigopostal> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:codprovincia>token</mcat:codprovincia> <mcat:provincia>token</mcat:provincia> <mcat:codmunicipio>token</mcat:codmunicipio> <mcat:municipio>token</mcat:municipio> <mcat:codlocalidad>token</mcat:codlocalidad> <mcat:localidad>token</mcat:localidad> <mcat:codparroquia>token</mcat:codparroquia> <mcat:parroquia>token</mcat:parroquia> </mcat:direccionpostal> <mcat:telefono1>token</mcat:telefono1> <mcat:telefono2>token</mcat:telefono2> <mcat:correoelectronico>token</mcat:correoelectronico> <mcat:canalpreferente>token</mcat:canalpreferente> </mcat:mediocontacto> <mcat:informacionadicionalpersonafisica></mcat:informacionadicionalpersonafisica> </mcat:personafisica> </mcat:solicitante> <mcat:representante> <mcat:personafisica> <mcat:idterceropersonafisica>token</mcat:idterceropersonafisica> <mcat:nombre>token</mcat:nombre> <mcat:primerapellido>token</mcat:primerapellido> <mcat:segundoapellido>token</mcat:segundoapellido> <mcat:nif_nie>token</mcat:nif_nie> <mcat:fechanacimiento>token</mcat:fechanacimiento> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:mediocontacto> <mcat:direccionpostal> <mcat:codvia>token</mcat:codvia> <mcat:nombrevia>token</mcat:nombrevia> <mcat:numerovia>token</mcat:numerovia> <mcat:bloque>token</mcat:bloque> <mcat:escalera>token</mcat:escalera> <mcat:piso>token</mcat:piso> <mcat:puerta>token</mcat:puerta> <mcat:codigopostal>token</mcat:codigopostal> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:codprovincia>token</mcat:codprovincia> <mcat:provincia>token</mcat:provincia> <mcat:codmunicipio>token</mcat:codmunicipio> <mcat:municipio>token</mcat:municipio> <mcat:codlocalidad>token</mcat:codlocalidad> <mcat:localidad>token</mcat:localidad> <mcat:codparroquia>token</mcat:codparroquia> <mcat:parroquia>token</mcat:parroquia> </mcat:direccionpostal> <mcat:telefono1>token</mcat:telefono1> <mcat:telefono2>token</mcat:telefono2> <mcat:correoelectronico>token</mcat:correoelectronico> <mcat:canalpreferente>token</mcat:canalpreferente> </mcat:mediocontacto>

Página 20 de 37 <mcat:informacionadicionalpersonafisica>mcat:informacionadicionalpersonafisica</mcat:informacionadicion alpersonafisica> </mcat:personafisica> </mcat:representante> <mcat:informacionadicionalsolicitud> <![CDATA[ Informacion adicional de la solicitud ]]> </mcat:informacionadicionalsolicitud> </mcat:solicitud> 5.2. Modificación de la información general de una solicitud import java.io.file; import java.io.fileoutputstream; import javax.activation.datahandler; import javax.activation.datasource; import org.apache.soap.util.mime.bytearraydatasource; import es.princast.mcat.service.proxy.mcatserviceproxy; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_anexovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_autorizadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_resultadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_solicitudvo; public class ClienteMcat { private McatServiceProxy proxy = new McatServiceProxy(); private void updatepartialsolicitud() throws Exception{ es_princast_mcat_business_vo_solicitudvo solicitud = new solicitud.setidsolicitud("11"); solicitud.setidsistema("99"); solicitud.setidprocedimiento("12"); solicitud.setidtercerosolicitante("1"); solicitud.setidtercerorepresentante("3"); es_princast_mcat_business_vo_autorizadovo autorizado1 = new es_princast_mcat_business_vo_autorizadovo(); autorizado1.setidtercero("1"); autorizado1.setrol("rol1"); es_princast_mcat_business_vo_autorizadovo autorizado2 = new es_princast_mcat_business_vo_autorizadovo(); autorizado2.setidtercero("2"); autorizado2.setrol("rol2"); es_princast_mcat_business_vo_autorizadovo[] listaautorizado = new es_princast_mcat_business_vo_autorizadovo[]{autorizado1, autorizado2; solicitud.setlistautorizados(listaautorizado); solicitud.setestado("estado modificado"); solicitud.setdescripcion("descripcion modificada"); es_princast_mcat_business_vo_resultadovo resultado = this.proxy.updatepartialsolicitud(solicitud); if (resultado.getwasok().booleanvalue()){ System.err.println("updatePartialSolicitud ejecutado con éxito"); else { System.err.println("Fallo en la ejecucion de updatepartialsolicitud"); System.err.println("El codigo de error es " + resultado.getcoderror()); System.err.println("La descripciones del error es " + resultado.getdescripcionerror()); public static void main(string args[]){ try{ ClienteMcat cliente = new ClienteMcat();

Página 21 de 37 cliente.proxy._setsoapurl("http://localhost:7777/mcat/mcatservice");// Especificar el dns y puerto del servidor donde está desplegado el servicio web cliente.updatepartialsolicitud (); catch(exception ex){ ex.printstacktrace(); 5.3. Modificación de la información general y particular de una solicitud import java.io.file; import java.io.fileoutputstream; import javax.activation.datahandler; import javax.activation.datasource; import org.apache.soap.util.mime.bytearraydatasource; import es.princast.mcat.service.proxy.mcatserviceproxy; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_anexovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_autorizadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_resultadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_solicitudvo; public class ClienteMcat { private McatServiceProxy proxy = new McatServiceProxy(); private void updatefullsolicitud() throws Exception{ es_princast_mcat_business_vo_solicitudvo solicitud = new solicitud.setidsolicitud("42"); solicitud.setidsistema("99"); solicitud.setidprocedimiento("10"); solicitud.setidtercerosolicitante("1"); solicitud.setidtercerorepresentante("2"); es_princast_mcat_business_vo_autorizadovo autorizado1 = new es_princast_mcat_business_vo_autorizadovo(); autorizado1.setidtercero("5"); autorizado1.setrol("rol5"); es_princast_mcat_business_vo_autorizadovo autorizado2 = new es_princast_mcat_business_vo_autorizadovo(); autorizado2.setidtercero("4"); autorizado2.setrol("rol 4"); es_princast_mcat_business_vo_autorizadovo[] listaautorizado = new es_princast_mcat_business_vo_autorizadovo[]{autorizado1, autorizado2; solicitud.setlistautorizados(listaautorizado); solicitud.setestado("estado de la solicitud"); solicitud.setdescripcion("descripcion de la solicitud"); BufferedReader buffer = new BufferedReader(new FileReader(new File("C:/fichero.xml"))); StringBuffer infpart = new StringBuffer(); String linea = null; linea = buffer.readline(); while (linea!=null) { infpart.append(linea); infpart.append("\n"); linea = buffer.readline(); solicitud.setinformacionparticular(infpart.tostring()); es_princast_mcat_business_vo_resultadovo resultado = this.proxy.updatefullsolicitud(solicitud); if (resultado.getwasok().booleanvalue()){ System.err.println("updateFullSolicitud ejecutado con éxito"); else {

Página 22 de 37 System.err.println("Fallo en la ejecucion de updatefullsolicitud"); System.err.println("El codigo de error es " + resultado.getcoderror()); System.err.println("La descripciones del error es " + resultado.getdescripcionerror()); public static void main(string args[]){ try{ ClienteMcat cliente = new ClienteMcat(); cliente.proxy._setsoapurl("http://localhost:7777/mcat/mcatservice");// Especificar el dns y puerto del servidor donde está desplegado el servicio web cliente.updatefullsolicitud(); catch(exception ex){ ex.printstacktrace(); Donde fichero.xml puede ser, por ejemplo, un fichero como el que sigue: <?xml version="1.0" encoding="utf-8"?> <mcat:solicitud xmlns:mcat="http://www.princast.es/mcat"> <mcat:solicitante> <mcat:personafisica> <mcat:idterceropersonafisica>idtercero</mcat:idterceropersonafisica> <mcat:nombre>token</mcat:nombre> <mcat:primerapellido>token</mcat:primerapellido> <mcat:segundoapellido>token</mcat:segundoapellido> <mcat:nif_nie>token</mcat:nif_nie> <mcat:fechanacimiento>token</mcat:fechanacimiento> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:mediocontacto> <mcat:direccionpostal> <mcat:codvia>token</mcat:codvia> <mcat:nombrevia>token</mcat:nombrevia> <mcat:numerovia>token</mcat:numerovia> <mcat:bloque>token</mcat:bloque> <mcat:escalera>token</mcat:escalera> <mcat:piso>token</mcat:piso> <mcat:puerta>token</mcat:puerta> <mcat:codigopostal>token</mcat:codigopostal> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:codprovincia>token</mcat:codprovincia> <mcat:provincia>token</mcat:provincia> <mcat:codmunicipio>token</mcat:codmunicipio> <mcat:municipio>token</mcat:municipio> <mcat:codlocalidad>token</mcat:codlocalidad> <mcat:localidad>token</mcat:localidad> <mcat:codparroquia>token</mcat:codparroquia> <mcat:parroquia>token</mcat:parroquia> </mcat:direccionpostal> <mcat:telefono1>token</mcat:telefono1> <mcat:telefono2>token</mcat:telefono2> <mcat:correoelectronico>token</mcat:correoelectronico> <mcat:canalpreferente>token</mcat:canalpreferente> </mcat:mediocontacto> <mcat:informacionadicionalpersonafisica></mcat:informacionadicionalpersonafisica> </mcat:personafisica> </mcat:solicitante> <mcat:representante> <mcat:personafisica> <mcat:idterceropersonafisica>token</mcat:idterceropersonafisica> <mcat:nombre>token</mcat:nombre> <mcat:primerapellido>token</mcat:primerapellido> <mcat:segundoapellido>token</mcat:segundoapellido>

Página 23 de 37 <mcat:nif_nie>token</mcat:nif_nie> <mcat:fechanacimiento>token</mcat:fechanacimiento> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:mediocontacto> <mcat:direccionpostal> <mcat:codvia>token</mcat:codvia> <mcat:nombrevia>token</mcat:nombrevia> <mcat:numerovia>token</mcat:numerovia> <mcat:bloque>token</mcat:bloque> <mcat:escalera>token</mcat:escalera> <mcat:piso>token</mcat:piso> <mcat:puerta>token</mcat:puerta> <mcat:codigopostal>token</mcat:codigopostal> <mcat:codpais>token</mcat:codpais> <mcat:pais>token</mcat:pais> <mcat:codprovincia>token</mcat:codprovincia> <mcat:provincia>token</mcat:provincia> <mcat:codmunicipio>token</mcat:codmunicipio> <mcat:municipio>token</mcat:municipio> <mcat:codlocalidad>token</mcat:codlocalidad> <mcat:localidad>token</mcat:localidad> <mcat:codparroquia>token</mcat:codparroquia> <mcat:parroquia>token</mcat:parroquia> </mcat:direccionpostal> <mcat:telefono1>token</mcat:telefono1> <mcat:telefono2>token</mcat:telefono2> <mcat:correoelectronico>token</mcat:correoelectronico> <mcat:canalpreferente>token</mcat:canalpreferente> </mcat:mediocontacto> <mcat:informacionadicionalpersonafisica>mcat:informacionadicionalpersonafisica</mcat:informacionadicion alpersonafisica> </mcat:personafisica> </mcat:representante> <mcat:informacionadicionalsolicitud> <![CDATA[ Informacion adicional de la solicitud ]]> </mcat:informacionadicionalsolicitud> </mcat:solicitud> 5.4. Borrado de una solicitud import java.io.file; import java.io.fileoutputstream; import javax.activation.datahandler; import javax.activation.datasource; import org.apache.soap.util.mime.bytearraydatasource; import es.princast.mcat.service.proxy.mcatserviceproxy; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_anexovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_autorizadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_resultadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_solicitudvo; public class ClienteMcat { private McatServiceProxy proxy = new McatServiceProxy(); private void deletesolicitud() throws Exception{ es_princast_mcat_business_vo_solicitudvo solicitud = new solicitud.setidsolicitud("1"); solicitud.setidsistema("99"); solicitud.setidprocedimiento("12"); es_princast_mcat_business_vo_resultadovo resultado = this.proxy.deletesolicitud(solicitud); if (resultado.getwasok().booleanvalue()){

Página 24 de 37 System.err.println("deleteSolicitud ejecutado con éxito"); else { System.err.println("Fallo en la ejecucion de deletesolicitud"); System.err.println("El codigo de error es " + resultado.getcoderror()); System.err.println("La descripciones del error es " + resultado.getdescripcionerror()); public static void main(string args[]){ try{ ClienteMcat cliente = new ClienteMcat(); cliente.proxy._setsoapurl("http://localhost:7777/mcat/mcatservice");// Especificar el dns y puerto del servidor donde está desplegado el servicio web cliente.deletesolicitud(); catch(exception ex){ ex.printstacktrace(); 5.5. Listado de la información general de solicitudes filtradas por el identificador de tercero del solicitante import java.io.file; import java.io.fileoutputstream; import javax.activation.datahandler; import javax.activation.datasource; import org.apache.soap.util.mime.bytearraydatasource; import es.princast.mcat.service.proxy.mcatserviceproxy; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_anexovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_autorizadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_resultadovo; import es.princast.mcat.service.proxy.es_princast_mcat_business_vo_solicitudvo; public class ClienteMcat { private McatServiceProxy proxy = new McatServiceProxy(); private void listpartialbyidtercerosolicitante() throws Exception{ es_princast_mcat_business_vo_solicitudvo solicitud = new solicitud.setidtercerosolicitante("1"); solicitud.setidsistema("99"); solicitud.setidprocedimiento("12"); solicitud.setestado("estado"); es_princast_mcat_business_vo_resultadovo resultado = this.proxy.listpartialbyidtercerosolicitante(solicitud); if (resultado.getwasok().booleanvalue()){ System.err.println("listPartialByIdTerceroSolicitante ejecutado con éxito"); if (resultado.getlistasolicitudes().length > 0) { System.err.println("La lista de solicitudes obtenida es:"); es_princast_mcat_business_vo_solicitudvo solici = new for (int i=0; i < resultado.getlistasolicitudes().length; i++) { solici = resultado.getlistasolicitudes()[i]; System.err.println("Solicitud -> " + solici.getidsolicitud()); else { System.err.println("La lista obtenida no tiene elementos"); else { System.err.println("Fallo en la ejecucion de listpartialbyidtercerosolicitante"); System.err.println("El codigo de error es " + resultado.getcoderror()); System.err.println("La descripciones del error es " + resultado.getdescripcionerror());