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

Tamaño: px
Comenzar la demostración a partir de la página:

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

Transcripción

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

2 Página 2 de 37 ÍNDICE ÍNDICE CONTROL DEL DOCUMENTO HISTÓRICO DE REVISIONES INTRODUCCIÓN CLASES PARA EL ACCESO AL MÓDULO COMÚN DE ALMACENAMIENTO TEMPORAL ES_PRINCAST_MCAT_BUSINESS_VO_ANEXOVO ES_PRINCAST_MCAT_BUSINESS_VO_AUTORIZADOVO ES_PRINCAST_MCAT_BUSINESS_VO_SOLICITUDVO ES_PRINCAST_MCAT_BUSINESS_VO_RESULTADOVO MCATSERVICEPROXY LIBRERÍAS NECESARIAS PARA LA COMPILACIÓN Y EJECUCIÓN DE UNA APLICACIÓN CLIENTE EJEMPLOS DE APLICACIÓN CLIENTE CREACIÓN DE SOLICITUD MODIFICACIÓN DE LA INFORMACIÓN GENERAL DE UNA SOLICITUD MODIFICACIÓN DE LA INFORMACIÓN GENERAL Y PARTICULAR DE UNA SOLICITUD BORRADO DE UNA SOLICITUD LISTADO DE LA INFORMACIÓN GENERAL DE SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE O DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE Y DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL AUTORIZADO LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE O DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL SOLICITANTE Y DEL REPRESENTANTE LISTADO DE LA INFORMACIÓN GENERAL Y PARTICULAR DE LAS SOLICITUDES FILTRADAS POR EL IDENTIFICADOR DE TERCERO DEL AUTORIZADO OBTENCIÓN DE LA INFORMACIÓN GENERAL Y PARTICULAR DE UNA SOLICITUD ASOCIACIÓN DE UN ANEXO A UNA SOLICITUD OBTENCIÓN DE UN ANEXO ASOCIADO A UNA SOLICITUD BORRADO DE UN ANEXO ASOCIADO A UNA SOLICITUD...37

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

4 Página 4 de 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).

5 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) 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) 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).

6 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[]) 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).

7 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

8 Página 8 de 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.

9 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.

10 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

11 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.

12 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.

13 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.

14 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:

15 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.

16 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:

17 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: donde nombreservidor y puerto deberán ser actualizados según la máquina donde esté desplegado el servicio web 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{

18 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(" 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=" <mcat:solicitante> <mcat:personafisica> <mcat:idterceropersonafisica>idtercero</mcat:idterceropersonafisica> <mcat:nombre>token</mcat:nombre> <mcat:primerapellido>token</mcat:primerapellido>

19 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>

20 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();

21 Página 21 de 37 cliente.proxy._setsoapurl(" 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 {

22 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(" 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=" <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>

23 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()){

24 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(" 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());

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

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Tema 4. Excepciones en Java

Tema 4. Excepciones en Java Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer

Más detalles

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

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java Java RMI Remote Method Invocation Invocación Remota de Métodos en Java Contenido Introducción Implementación Diseño de la interfaz remota. Implementación de la interfaz remota. Obtención de las clases

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

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

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles

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

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

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

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

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

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad

Más detalles

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

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

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

Práctica 4: Java Remote Method Invocation (RMI) Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado

Más detalles

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

Ejercicios de Programación Tema 7. Programación Orientada a Objetos Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

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

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4 Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..

Más detalles

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

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Introducción Descripción del servicio

Introducción Descripción del servicio 507953 1 Contenido Contenido Cambios Introducción Descripción del servicio Introducción Arquitectura Paso a paso Capa de negocio Adapter Interface Service Proxy Fichero de propiedades Despliegue del servicio

Más detalles

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Java RMI. Sistemas Distribuidos Rodrigo Santamaría + Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en

Más detalles

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

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

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

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream. I/O desde la linea de Comandos Los programas normalmente tienen funcionalidades para el ingreso o captura de datos desde la linea de comandos. La plataforma Java soporta estas iteracciones de dos formas:

Más detalles

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

Introducción Entorno de ejecución Referencias Descripción del servicio 507953 1 Contenido Contenido Cambios Introducción Entorno de ejecución Referencias Descripción del servicio Introducción Arquitectura Paso a paso Interface Service Proxy Fichero de propiedades Despliegue

Más detalles

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

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

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

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

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

EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Apellidos Nombre Firma NIA Grupo EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Pregunta 1 (0,5 puntos).- Indicar si las siguientes afirmaciones

Más detalles

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS TAREA No. 02 ASIGNATURA: Aplicaciones Empresariales en JAVA DOCENTE: Ing. Paúl Paguay SEMESTRE: Noveno NOMBRE: Holger Morales

Más detalles

Un breve resumen del lenguaje Java

Un breve resumen del lenguaje Java Un breve resumen del lenguaje Java 1.1. Órdenes para trabajar con código Java desde una máquina Unix.............. 1 1.2. Comentarios......................................... 2 1.3. Declaración de datos

Más detalles

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

Práctica 7: Invocación Web Services con REST Práctica 7: Invocación Web Services con REST Aplicaciones Telemáticas II Introducción Los Web Services permiten realizar aplicaciones distribuidas, usando las ventajas que nos proporciona el protocolo

Más detalles

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

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones

Más detalles

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

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

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

UNIVERSIDAD DISTRITAL FRANCSICO JOSE DE CALDAS FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS PROGRAMACION AVANZADA TALLER DE CONEXIÓN A BASES DE DATOS TALLER DE CONEXIÓN A BASES DE DATOS 1. Cree un nuevo proyecto Java Aplication 2. Descargue el respectivo driver para conectarse a una BD Derby. El driver JDBC para Derby: derbyclient.jar 3. Agregue el

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Prueba N o 1. Programación II

Prueba N o 1. Programación II UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.

Más detalles

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

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet. Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente

Más detalles

Guía - Taller # 2 (JAVA)

Guía - Taller # 2 (JAVA) CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.

Más detalles

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

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

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

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

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

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

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

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

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

Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial. Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial. Para este parcial, debe modificarse la práctica del primer parcial de la siguiente manera: Servidor: la aplicación

Más detalles

Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#. Programación I, Guía 4 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de selección if e

Más detalles

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

Universidad Carlos III de Madrid Ingeniería de Telecomunicación. Examen de Programación Febrero 2007. Parte de Ejercicios Universidad Carlos III de Madrid Ingeniería de Telecomunicación Examen de Programación Febrero 2007 Parte de Ejercicios Responder y entregar cada ejercicio en hojas separadas Numerar todas las hojas de

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Ficheros de acceso aleatorio

Ficheros de acceso aleatorio Ficheros de acceso aleatorio Los ficheros con los que hemos trabajado hasta ahora (ya sean ficheros de texto o ficheros binarios con objetos serializados) no resultan adecuados para muchas aplicaciones

Más detalles

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

Práctica 2: Java Remote Method Invocation (RMI) Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es

Más detalles

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

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento

Más detalles

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

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.

Más detalles

Ejercicios resueltos de programación

Ejercicios resueltos de programación Ejercicios resueltos de programación Mariano Fernández López Escuela Politécnica Superior, Universidad San Pablo CEU 18 de marzo de 2015 Índice general 1. Implementación de un método recursivo 2 1.1. Enunciado.............................

Más detalles

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

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

Tutorial 1: Desarrollo de un plugin

Tutorial 1: Desarrollo de un plugin Tutorial 1: Desarrollo de un plugin En este tutorial introductorio se creará un plugin siguiendo una de las plantillas que ofrece Eclipse. Concretamente se extenderá una vista para mostrar cierta información

Más detalles

JAVA RMI (REMOTE METHOD INVOCATION)

JAVA RMI (REMOTE METHOD INVOCATION) JAVA RMI (REMOTE METHOD INVOCATION) RMI RMI (Remote Method Invocation) Mecanismo RPC de Mecanismo mediante el cual los procesos cliente y servidor en una aplicación distribuida se comunican Una aplicación

Más detalles

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

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

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

CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda Documento de casos de uso Versión Historia de Revisión Fecha Versión Descripción Responsable 25/02/2005

Más detalles

PROGRAMACION DISTRIBUIDA

PROGRAMACION DISTRIBUIDA PROGRAMACION DISTRIBUIDA Ejemplo de uso de estrategias de diseño con RMI Héctor Pérez 2 Ejemplo de callback: SwiftEagle shot() setdirection() Target nearnessreport(target,observer) signal? explode() SwiftEagle

Más detalles

Tema 5 Tabla de Símbolos

Tema 5 Tabla de Símbolos Traductores, Compiladores e Intérpretes 1 Tema 5 También se la llama tabla de nombres o tabla de identificadores y tiene dos funciones principales: - Efectuar chequeos semánticos. - Generación de código.

Más detalles

Servicios Web: Concepto

Servicios Web: Concepto Servicios Web y RMI http://www.it.uc3m.es/pedmume/ Servicios Web: Concepto Uso más habitual de un servidor es dar una respuesta al usuario de una determinada página (PHP, ASP, J2EE ). Las páginas están

Más detalles

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

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles

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

Examen de Prácticas de Programación Ingeniería Informática Examen de Prácticas de Programación Ingeniería Informática Septiembre 2007 1) (3.5 puntos) Se pretende desarrollar un programa para gestionar las reparaciones de coches realizadas en un garaje. Del análisis

Más detalles

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

Metodología y Tecnología de la Programación Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);

Más detalles

WEB SERVICES. Manual técnico para desarrollador

WEB SERVICES. Manual técnico para desarrollador WEB SERVICES Manual técnico para desarrollador 1. Introducción Este Manual considera servir de guía para un desarrollo que deba integrarse con el Web Service que el Banco Central de Chile provee para

Más detalles

Introducción a Java (2)

Introducción a Java (2) Introducción a Java (2) 1 Humberto Cervantes Maceda Alfonso Martínez Martínez Marzo 2005 Indice Conceptos adicionales Java La clase Object Manejo de excepciones Buenas practicas de desarrollo Utilizar

Más detalles

Práctica III: Streams, Readers y Writers

Práctica III: Streams, Readers y Writers Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.

EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. 1 Se desean realizar las pruebas unitarias y de integración de las 3 clases cuyo código se ofrece a continuación: Cliente.java: import java.util.vector; public

Más detalles

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

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

Más detalles

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS Versión 1.0 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Manejo de Excepciones

Manejo de Excepciones Manejo de Excepciones Una excepción en java es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de las instrucciones. Una excepción puede ser causada por fallas de

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

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

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar

Más detalles

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

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Ejercicios de tratamiento de errores

Ejercicios de tratamiento de errores Índice 1 Captura de excepciones (0.5 puntos)...2 2 Lanzamiento de excepciones (0.5 puntos)... 2 3 Excepciones como tipos genéricos en la aplicación filmotecas(0.5 puntos)...4 4 Excepciones anidadas en

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

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

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

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

Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Especificación de TAD s. TAD Pila de Enteros. desapilar 2 7 3 5 apilar Cima de la Pila Cima de la Pila Definición: Estructura de Datos que

Más detalles

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

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga

Más detalles

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

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16

Más detalles

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina Componentes Distribuidos EJBs Ing. Cesar Julio Bustacara Medina Introducción La Clase del Bean Contiene la lógica del Enterprise Bean. Es una clase Java pública, que implementa los métodos de negocios

Más detalles

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

JAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005 JAVA - Serializacíon / RMI (C) Philippe Roose - 2004, 2005 Serializar objetos- concepto Desde el JDK 1.1 Serializar objetos permite de escribir un objeto en un fichero como un flujo de octets (archivo

Más detalles

Tema 14: Excepciones

Tema 14: Excepciones Tema 14: Excepciones 0 Excepción Definición Las Excepciones son objetos que definen el estado de la aplicación cuando se producen situaciones anómalas. Son un mecanismo usado por muchos lenguajes de programación

Más detalles

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

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets

Más detalles

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

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...

Más detalles

Especificaciones del driver JDBC

Especificaciones del driver JDBC BASE 100, S.A. www.base100.com Índice 1. INTRODUCCIÓN... 3 1.1 SINTAXIS DE LA URL... 3 1.2 REGISTRO DEL DRIVER... 3 2. ESTABLECIMIENTO DE LA CONEXIÓN... 4 2.1 OBSERVACIONES... 4 3. EJEMPLO... 5 Pág. 2

Más detalles

Programación Android. Rafael Morón Abad rafaelmoron@gmail.com

Programación Android. Rafael Morón Abad rafaelmoron@gmail.com Programación Android Rafael Morón Abad rafaelmoron@gmail.com APIs para red Android con9ene el paquete java.net. La clase base para acceso a red es HApURLConnec9on. Para acceder a Internet, se requiere

Más detalles

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

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

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

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

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

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el

Más detalles

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

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS METODOS CONSTRUCTORES Y LA REFERENCIA THIS Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase. Por ser métodos, los constructores

Más detalles

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

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

Más detalles

Tema 15: Aserciones 0

Tema 15: Aserciones 0 Tema 15: Aserciones 0 Aserciones Definición Una aserción es una condición lógica insertada en el código Java, de ideas o condiciones que se asumen son ciertas. El sistema se encarga de comprobarlas y avisar

Más detalles

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento

Más detalles

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

UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión UD 4 GESTIÓN DE ERRORES Pedro J. Ponce de León Versión 20111005 Gestión Errores Objetivos Saber utilizar las sentencias de control de excepciones para observar, indicar y manejar excepciones, respectivamente.

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

StringBuffer, Math y Wrapper

StringBuffer, Math y Wrapper Clases System, String, StringBuffer, Math y Wrapper FJP Unidad 6 Clase System Ubicación: java.lang.system Funcionalidad principal: acceder a los dispositivos del sistema operativo de bajo nivel entrada

Más detalles

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

Luego lleve el cliente a otra máquina y ejecute desde ahí usando el nombre de la máquina del servidor. Ejemplos de sockets Los sockets son un mecanismo de comunicación entre procesos de muy bajo nivel, donde el usuario tiene que hacer muchas cosas, pero que siguen siendo muy importantes. En esta práctica

Más detalles