C/ Santa María Magdalena 16, 28016 Madrid Servicios Web de consulta y actualización para el Levante sin Papeles de graneles Autor: S.G.A.A. Fecha: 07/04/2011 Revisiones Edi. Rev. Fecha Descripción A(*) Páginas 0 1 13/11/2009 Versión inicial A Todas 1 0 01/12/2009 Propuesta R Todas 1 1 14/12/2009 Revisión de códigos de levante R 10, 15,21, 28 y Anexo I 2 0 26/01/2011 Versión 2 de los servicios web: adaptación a nueva A sede electrónica 2 1 07/04/2011 Revisión del servicio web de consulta: se incluye el R 3,8,9 numero de tique como opcional a la hora de hacer la consulta de la salida. (*) Acción: A= Añadir; R= Reemplazar Impreso: 11/04/2011 Página: 1/16
Índice: 1. Control de versiones del presente documento 3 1.1. Cambios en versión 0.1 3 1.2. Cambios en versión 1.0 3 1.3. Cambios en versión 1.1 3 1.4. Cambios en versión 2.0 3 1.5. Cambios en versión 2.1 3 2. Introducción 4 3. Especificación Global del Sistema 4 3.1. Respuesta del sistema 5 3.2. Estándares utilizados 5 4. Servicio Web de Consulta de LSP Graneles 6 4.1. Modelo de intercambio de la información 6 4.2. Especificaciones de diseño 7 4.2.1. Diseño propuesto 7 4.2.2. Descripción del Servicio Web: ConSalGranV2.wsdl 7 4.3. Mensaje de petición 8 4.4. Mensaje de respuesta 9 5. Servicio Web de Consulta y Actualización de LSP Graneles 10 5.1. Modelo de intercambio de la información 10 5.2. Especificaciones de diseño 11 5.2.1. Diseño propuesto 11 5.2.2. Descripción del Servicio Web: LSPGranV2.wsdl 11 5.3. Mensaje de petición 12 5.4. Mensaje de respuesta 13 6. Consideraciones de diseño 15 6.1. Versionado 15 6.2. Integridad Transaccional 15 6.3. Comunicación de incidencias en el procesado de las declaraciones. 15 Impreso:11/04/2011 Pág: 2/16
1. Control de versiones del presente documento 1.1. Cambios en versión 0.1 Propuesta de versión inicial. 1.2. Cambios en versión 1.0 Versión inicial definitiva. Con respecto a versión anterior: - Eliminación del atributo Id en los mensajes de petición y respuesta de los dos servicios web de consulta (para contenedores y graneles) - Se diversifican los códigos de levante de los dos servicios web de LSP de contenedores con el fin de detallar determinados errores de validación. - Nuevo código de respuesta ST para el servicio web de consulta LSP de contenedores que indica que el contenedor puede salir pero que está datado por documentos de tránsito. 1.3. Cambios en versión 1.1 Se incluye el valor ST en el servicio de consulta de graneles para indicar aquellas salidas de mercancías de Tránsitos. Se incluye un nuevo valor negativo de levante, YG, en el servicio de actualización de graneles, que describe la situación en la que se está tratando de efectuar la misma salida con el mismo documento de datado y tiquet. Descripción del valor NE, de los servicios web de contenedores, ampliada a aquellos recinto y contenedor que no tengan sumaria alguna. El Anexo I se elimina del presente documento. 1.4. Cambios en versión 2.0 Versión 2 de los web services: descriptor y esquemas ubicados en el dominio de la sede electrónica lo que implica modificación de todas las URLs. Se bifurca la documentación de los web services de levante sin papeles de graneles de la documentación de los web services de levante sin papeles de contenedores. 1.5. Cambios en versión 2.1 Versión 2.1 del servicio web de consulta: se incluye en el servicio web de consulta el atributo opcional de numero de tique de pesaje para que en el caso de que se envie hacer la validacion de salida con el tique de pesaje, en caso de no enviarse la validación se realizara como hasta ahora. Impreso:11/04/2011 Pág: 3/16
2. Introducción Desde las Autoridades Portuarias se ha emprendido un esfuerzo para la modificación de sus Sistemas de Información con el fin de automatizar de la gestión del Levante sin papeles (LSP) de las mercancías cuyos declarantes hayan cumplido con las obligaciones administrativas necesarias. En reuniones mantenidas entre Autoridades Portuarias y la AEAT se ha transmitido la necesidad de disponer de una infraestructura que permita, en tiempo real, la consulta de salida de mercancía y el levante sin papeles. 3. Especificación Global del Sistema Para el desarrollo del proyecto se ha considerado importante definirlo bajo estándares que faciliten su desarrollo y que permitan una alta funcionalidad. Para ello se propone la utilización de web services que permitirá una difusión de la información prácticamente en tiempo real mediante una consulta síncrona a través de Internet empleando protocolo HTTPS, con autenticación de cliente mediante certificado electrónico homologado por la Agencia Tributaria. El Sistema de Información permitirá su invocación por el de la Autoridad Portuaria, que se autenticará con un certificado electrónico FNMT Clase 2 CA o cualquier otro emitido por alguno de los organismos emisores de certificados listados en la O.M. HAC/1181/2003, y devolverá una respuesta indicando si la mercancía consultada puede abandonar el recinto aduanero y, en caso contrario, el motivo de la denegación de salida. El objeto de este documento es la descripción de estos Servicio Web que posibiliten la automatización del proceso de salida de mercancía. Con el fin de proporcionar la funcionalidad necesaria se han creado cuatro web services que proporcionarán las funcionalidades: - Consulta sin efectuar la salida ni grabación o actualización alguna en el Entorno informático de la AEAT. - Consulta y grabación, si procede, actualizando en la base de datos del Entorno informático de la AEAT. Estas dos funcionalidades se han implementados y se describen en el presente documento para el Levante sin papeles de Graneles, en el que están incluidos tanto los graneles propiamente dichos como mercancías no susceptibles de ser albergadas en contenedores como material voluminoso y automóviles. Por tanto facilitaremos al Sistema Informático de las Autoridades Portuarias cuatro servicios web: Proceso Servicio Web Origen Destino Descripción Servicio de consulta de LSP de graneles ConSalGranV2 Autoridad Portuaria AEAT Dados los parámetros necesarios para efectuar un levante sin papeles de graneles el servicio llama a la validación de salida. En caso de que se permita el levante se devolverá una respuesta afirmativa (SI) en Servicio de actualización de LSP de graneles LSPGranV2 Autoridad Portuaria AEAT el elemento Levante Dados los parámetros necesarios para efectuar un levante sin papeles de graneles el servicio llama a la validación de salida. En caso de que se permita el levante se devolverá una respuesta afirmativa (SI) en el elemento Levante y, por último, se grabará el resguardo y contrarresguardo correspondiente y se actualizará el saldo de mercancías remanente. Impreso:11/04/2011 Pág: 4/16
3.1. Respuesta del sistema Todos los web services emitirán un mensaje XML de respuesta en el que el elemento más relevante es el "Levante" que indicará si la mercancía puede salir del recinto aduanero y, en caso contrario, por qué motivo no puede hacerlo. La codificación de este elemento se detallará más adelante. 3.2. Estándares utilizados El uso de servicios Web constituye la base de las buenas prácticas para desplegar servicios que posibiliten la interacción máquina-máquina, es decir, la automatización integral de un proceso en el que interviene varios sistemas de información, el del ciudadano, organismo o empresa y el de la Agencia Tributaria. Se pretende utilizar los estándares de facto para el desarrollo de servicios web. La estructura de los mensajes será descrita sobre la base de la creación de esquemas XML utilizando para ello la recomendación W3C de 28-Octubre de 2004 en http://www.w3.org/tr/xmlschema-0 y referenciada por el namespace http://www.w3.org/2001/xmlschema Con relación a SOAP se utilizará SOAP V1.1 disponible como NOTA W3C de 08-Mayo-2000 en : http://www.w3.org/tr/2000/note-soap-20000508/ y referenciado por el namespace http://schemas.xmlsoap.org/soap/envelope/ En SOAP-1.1 existen dos estilos para implementar servicio, modo rpc y modo document, en línea con las recomendaciones actuales se utilizará siempre el modo document (style= document ) sin ningún tipo de codificación (use= literal ). Es decir el mensaje de entrada y salida estará descrito íntegramente por su respectivo esquema XML. Con relación a la descripción de los servicios utilizaremos WSDL 1.1 disponible como NOTA W3C de 14-Marzo-2001 en: http://www.w3.org/tr/2001/note-wsdl-20010315 y referenciado por el namespace http://schemas.xmlsoap.org/wsdl/. Impreso:11/04/2011 Pág: 5/16
4. Servicio Web de Consulta de LSP Graneles 4.1. Modelo de intercambio de la información El modelo simplificado de intercambio de información entre el Sistema de Información de la Autoridad Portuaria y el servicio web será el siguiente. Al ser un servicio de consulta no se realizará modificación alguna en las bases de datos de LSP. Cliente Web Service LSP parámetros petición Consulta parámetros petición + código de respuesta Respuesta Levante Impreso:11/04/2011 Pág: 6/16
4.2. Especificaciones de diseño 4.2.1. Diseño propuesto El cliente debe enviar los parámetros de entrada necesarios para validar la consulta de levante sin papeles. La AEAT devolverá de forma síncrona una respuesta sobre la disponibilidad de levante. Para realizar esta función se crea el siguiente Servicio Web: Proceso Servicio Web Origen Destino Descripción Servicio de consulta de LSP de graneles ConSalGranV2 Autoridad Portuaria AEAT Dados los parámetros necesarios para efectuar un levante sin papeles de graneles el servicio llama a la validación de salida. En caso de que se permita el levante se devolverá una respuesta afirmativa (SI) en el elemento Levante 4.2.2. Descripción del Servicio Web: ConSalGranV2.wsdl La consulta de salida de mercancías por el levante sin papeles de graneles se trasladará a la AEAT. mediante el servicio web descrito por ConSalGranV2.wsdl. Cuando las mercancías del Levante sin papeles de graneles son vehículos lo habitual es que en un único medio de transporte se deseen sacar del recinto aduanero mercancías de varias declaraciones aduaneras estando supeditada su salida a que dichas declaraciones estén despachadas. En el caso de que al menos uno de estas declaraciones se encuentre en un estado que impida su salida el LSP no podrá efectuarse. Para cubrir esta necesidad se ha dotado al servicio web de consulta del LSP Graneles de la posibilidad de realizar consultas de varias declaraciones aduaneras (hasta un máximo de 10) agrupadas en una única petición XML, como elementos Apunte. Los esquemas pueden consultarse en: https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/consalgranv2.wsdl https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/consalgranv2ent.xsd https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/consalgranv2sal.xsd https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/consalgranv2dat.xsd A modo informativo, se proporcionará una respuesta por cada declaración aduanera en el elemento "LevanteParcial" de cada nodo "ApunteRespuesta". El sistema permitirá la salida de la mercancía si todas las respuestas en los elementos "LevanteParcial" son positivas y se indicará en el elemento "Levante". En caso de que alguna respuesta individual sea negativa la respuesta global que devolverá el sistema en el campo "Levante" será también negativa. Impreso:11/04/2011 Pág: 7/16
4.3. Mensaje de petición Grupo Campo Etiqueta XML Req. Mult. Formato Etiqueta Raíz ConSalGranV2Ent Req 1x - 1.- RecintoPesaje Recinto de Pesaje RecintoPesaje Req 1x an4 2.- TerminalPesaje Terminal de Pesaje TerminalPesaje Opc 1x an2 3.- Apunte Apunte Req 1x - 3.1.- Tiquet Tiquet de Pesaje Tiquet Opc 1x - Año del tiquet AnioTiquet Opc 1x an4 Número de tiquet NumeroTiquet Opc 1x an6 3.2. - Pesaje Pesaje Pesaje Req 10x - Codigo de unidades CodigoUnidades Req 1x an2 Número de unidades NumeroUnidades Req 1x n..12,3 3.3.- DocSalida Documento de salida DocSalida Req 1x - Tipo TipoDocSalida Req 1x an3 Recinto RecintoDocSalida Req 1x an4 Año AnioDocSalida Req 1x an4 Número NumDocSalida Req 1x an6 Partida ParDocSalida Req 1x an5 CodigoUnidades sigue la siguiente nomenclatura: - UN: NumeroUnidades medido en Bultos/Unidades - KN: NumeroUnidades medido en Kilogramos. - TN: NumeroUnidades medido en Toneladas métricas. TipoDocSalida será uno de los siguientes: - DUA Dua de Importación - DVD Dua Vinculación a Depósito - IDA Ida inclusión en Depósito - JCE Justificante comunidad europea - OTR Otro Documento - SCE Salida Comunidad Europea - SDD Salida Depósito Distinto Aduanero - SNR Salida No Regular - STO Otro Documento de LSP - SUM Sumaria con Salida Servicio Regular Impreso:11/04/2011 Pág: 8/16
4.4. Mensaje de respuesta Grupo Campo Etiqueta XML Req. Mult. Formato Etiqueta Raíz ConSalGranV2Sal Req. 1x - 1.- RecintoPesaje Recinto de Pesaje RecintoPesaje Req 1x an4 2.- TerminalPesaje Terminal de Pesaje TerminalPesaje Opc 1x an2 3.- Apunte-Respuesta Apunte-Respuesta ApunteRespuesta Req 10x - 3.1.- Tiquet Tiquet de Pesaje Tiquet Opc 1x - Año del tiquet AnioTiquet Opc 1x an4 Número de tiquet NumeroTiquet Opc 1x an6 3.2. - Pesaje Pesaje Pesaje Req 1x - Codigo de unidades CodigoUnidades Req 1x an2 Número de unidades NumeroUnidades Req. 1x n..12,3 3.3.- DocSalida Documento de salida DocSalida Req. 1x - Tipo TipoDocSalida Req. 1x an3 Recinto RecintoDocSalida Req. 1x an4 Año AnioDocSalida Req. 1x an4 Número NumDocSalida Req. 1x an6 Partida ParDocSalida Req. 1x an5 3.4.- LevanteParcial Levante parcial para apunte LevanteParcial Req. 1x an2 4.- Levante Levante Levante Req. 1x an2 Los campos Levante y LevanteParcial pueden tomar los siguientes valores: Código SI ST NS NE EI TR CU NU DT DR DA DN DP YG OT Descripción La mercancía puede salir al estar permitido el levante de la mercancía por el estado de la declaración aduanera asociada y existir aún saldo suficiente. La mercancía puede salir pero tiene Documentos de Tránsito asociados. La mercancía no puede salir al no existir saldo suficiente. No se ha podido encontrar la declaración aduanera. El estado de la declaración aduanera impide que la mercancía pueda salir por Levante sin papeles. Error en el dato de entrada: RecintoPesaje Error en el dato de entrada: CodigoUnidades Error en el dato de entrada: NumeroUnidades Error en el dato de entrada: TipoDocSalida Error en el dato de entrada: RecintoDocSalida Error en el dato de entrada: AnioDocSalida Error en el dato de entrada: NumDocSalida Error en el dato de entrada: ParDocSalida La mercancía ya salió por LSP Graneles con el mismo tiquet y documento/partida de datado Otros errores no catalogados. El dato de respuesta del servicio ubicado en el campo Levante dependerá de la situación: - Si se envía un único elemento Apunte coincidirá con el elemento LevanteParcial. - Si se envían varios elementos Apunte: o Si todos los elementos LevanteParcial de los elementos Apunte enviados son iguales el elemento Levante tendrá este valor. Impreso:11/04/2011 Pág: 9/16
Si no todos los elementos LevanteParcial de los elementos Apunte enviados son iguales el elemento Levante se grabará con el código OT. Lo únicos dos códigos de respuesta que posibilitan el levante son SI y ST alertando este último que la declaración aduanera tiene uno o varios documentos de Transito que lo datan. 5. Servicio Web de Consulta y Actualización de LSP Graneles 5.1. Modelo de intercambio de la información El modelo simplificado de intercambio de información entre el Sistema de Información de la Autoridad Portuaria y el servicio web será el siguiente. Al ser un servicio de consulta no se realizará modificación alguna en las bases de datos de LSP. Cliente Web Service LSP parámetros petición + Id mensaje Consulta y Actualización parámetros petición + Id mensaje + código de respuesta Respuesta Levante Además de los datos necesarios para efectuar la consulta se requerirá en el mensaje de petición un atributo Id que identifique unívocamente cada petición. En caso de que se enviaran dos peticiones con el mismo Id podríamos tener dos escenarios: - Si el contenido del mensaje (parámetros de petición) es idéntico al recibido en la primera ocasión, se devolverá la misma respuesta que la generada en la primera petición. - Si el contenido fuera diferente al de la primera ocasión, se devolverá un error indicando el uso incorrecto del Id de referencia que debería ser único. Impreso:11/04/2011 Pág: 10/16
5.2. Especificaciones de diseño 5.2.1. Diseño propuesto El cliente debe enviar los parámetros de entrada necesarios para validar la consulta de levante sin papeles. La AEAT devolverá de forma síncrona una respuesta sobre la disponibilidad de levante. Para realizar esta función se crea el siguiente Servicio Web: Proceso Servicio Web Origen Destino Descripción Servicio de actualización de LSP de graneles LSPGranV2 Autoridad Portuaria AEAT Dados los parámetros necesarios para efectuar un levante sin papeles de graneles el servicio llama a la validación de salida. En caso de que se permita el levante se devolverá una respuesta afirmativa (SI) en el elemento Levante y, por último, se grabará el resguardo y contrarresguardo correspondiente y se actualizará el saldo de mercancías remanente. 5.2.2. Descripción del Servicio Web: LSPGranV2.wsdl La consulta de salida de mercancías por el levante sin papeles de graneles se trasladará a la AEAT. mediante el servicio web descrito por LSPGranV2.wsdl. Los esquemas pueden consultarse en: https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/lspgranv2.wsdl https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/lspgranv2ent.xsd https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/lspgranv2sal.xsd https://www2.agenciatributaria.gob.es/adua/internet/es/aeat/dit/adu/adls/ws/granel/lspgranv2dat.xsd Cuando las mercancías del Levante sin papeles de graneles son vehículos lo habitual es que en un único medio de transporte se deseen sacar del recinto aduanero mercancías de varias declaraciones aduaneras estando supeditada su salida a que dichas declaraciones estén despachadas. En el caso de que al menos uno de estas declaraciones se encuentre en un estado que impida su salida el LSP no podrá efectuarse. Para cubrir esta necesidad se ha dotado al servicio web de actualización del LSP Graneles de la posibilidad de realizar consultas de varias declaraciones aduaneras (hasta un máximo de 10) agrupadas en una única petición XML, como elementos Apunte. Impreso:11/04/2011 Pág: 11/16
Es decir, este servicio recibirá peticiones que podrán incluir levantes de mercancías de hasta 10 declaraciones aduaneras distintas. El levante se otorgará y se grabará el respectivo resguardo y contrarresguardo si, y sólo si, todas las salidas solicitadas pueden efectuarse. A modo informativo, se proporcionará una respuesta por cada declaración aduanera en el elemento "LevanteParcial". El sistema permitirá la salida de la mercancía si todas las respuestas en los elementos "LevanteParcial" son positivas y se indicará en el elemento "Levante". En caso de que alguna respuesta individual sea negativa la respuesta global que devolverá el sistema en el campo "Levante" será también negativa. 5.3. Mensaje de petición Grupo Campo Etiqueta XML Req. Mult. Formato Etiqueta Raíz Etiqueta Raíz LSPGranV2Ent Req 1x - Id Id (atributo de LSPGranV2Ent) Req 1x an..20 1.- RecintoPesaje Recinto de Pesaje RecintoPesaje Req 1x an4 2.- TerminalPesaje Terminal de Pesaje TerminalPesaje Req 1x an2 3.- Apunte Apunte Req 1x - 3.1.- Tiquet Tiquet de Pesaje Tiquet Req 1x - Año del tiquet AnioTiquet Req 1x an4 Número de tiquet NumeroTiquet Opc 1x an6 3.2. - Pesaje Pesaje Pesaje Req 10x - Codigo de unidades CodigoUnidades Req 1x an2 Número de unidades NumeroUnidades Req 1x n..12,3 3.3.- DocSalida Documento de salida DocSalida Req 1x - Tipo TipoDocSalida Req 1x an3 Recinto RecintoDocSalida Req 1x an4 Año AnioDocSalida Req 1x an4 Número NumDocSalida Req 1x an6 Partida ParDocSalida Req 1x an5 4.- Matricula Matrícula del transporte Matricula Req 1x an..17 Atributo Id. Debe ser único. Se sugiere utilizar TimeStamp del tipo AAAAMMDDHHMMSSNNNNNN aunque puede ser cualquiera mientras que el sistema de origen garantice la unicidad. CodigoUnidades sigue la siguiente nomenclatura: - UN: NumeroUnidades medido en Bultos/Unidades - KN: NumeroUnidades medido en Kilogramos. - TN: NumeroUnidades medido en Toneladas métricas. TipoDocSalida será uno de los siguientes: - DUA Dua de Importación - DVD Dua Vinculación a Depósito Impreso:11/04/2011 Pág: 12/16
- IDA Ida inclusión en Depósito - JCE Justificante comunidad europea - OTR Otro Documento - SCE Salida Comunidad Europea - SDD Salida Depósito Distinto Aduanero - SNR Salida No Regular - STO Otro Documento de LSP - SUM Sumaria con Salida Servicio Regular 5.4. Mensaje de respuesta Grupo Campo Etiqueta XML Req. Mult. Formato Etiqueta Raíz Etiqueta Raíz LSPGranV2Ent Req 1x - Id Id (atributo de LSPGranV2Ent) Req 1x an..20 1.- RecintoPesaje Recinto de Pesaje RecintoPesaje Req 1x an4 2.- TerminalPesaje Terminal de Pesaje TerminalPesaje Req 1x an2 3.- Apunte Apunte Req 1x - 3.1.- Tiquet Tiquet de Pesaje Tiquet Req 1x - Año del tiquet AnioTiquet Req 1x an4 Número de tiquet NumeroTiquet Opc 1x an6 3.2. - Pesaje Pesaje Pesaje Req 10x - Codigo de unidades CodigoUnidades Req 1x an2 Número de unidades NumeroUnidades Req 1x n..12,3 3.3.- DocSalida Documento de salida DocSalida Req 1x - Tipo TipoDocSalida Req 1x an3 Recinto RecintoDocSalida Req 1x an4 Año AnioDocSalida Req 1x an4 Número NumDocSalida Req 1x an6 Partida ParDocSalida Req 1x an5 3.4.- Levante parcial Levante parcial LevanteParcial Req 1x an2 4.- Matricula Matrícula del transporte Matricula Req 1x an..17 5.- Levante Levante Levante Req 1x an2 Los campos Levante y LevanteParcial pueden tomar los siguientes valores: Código SI NS NE EI CI YG TR TA TN CU NU DT Descripción La mercancía puede salir al estar permitido el levante de la mercancía por el estado de la declaración aduanera asociada y existir aún saldo suficiente. La mercancía no puede salir al no existir saldo suficiente. No se ha podido encontrar la declaración aduanera. El estado de la declaración aduanera impide que la mercancía pueda salir por Levante sin papeles. Certificado electrónico inválido. La mercancía ya salió por LSP Graneles con el mismo tiquet y documento/partida de datado Error en el dato de entrada: RecintoPesaje Error en el dato de entrada: AnioTiquet Error en el dato de entrada: NumeroTiquet Error en el dato de entrada: CodigoUnidades Error en el dato de entrada: NumeroUnidades Error en el dato de entrada: TipoDocSalida Impreso:11/04/2011 Pág: 13/16
DR DA DN DP MA OT Error en el dato de entrada: RecintoDocSalida Error en el dato de entrada: AnioDocSalida Error en el dato de entrada: NumDocSalida Error en el dato de entrada: ParDocSalida Error en el dato de entrada: Matricula Otros errores no catalogados o errores diversos en peticiones con varios elementos Apunte El dato de respuesta del servicio ubicado en el campo Levante dependerá de la situación: - Si se envía un único elemento Apunte coincidirá con el elemento LevanteParcial. - Si se envían varios elementos Apunte: o Si todos los elementos LevanteParcial de los elementos Apunte enviados son iguales el elemento Levante tendrá este valor. o Si no todos los elementos LevanteParcial de los elementos Apunte enviados son iguales el elemento Levante se grabará con el código OT. Impreso:11/04/2011 Pág: 14/16
6. Consideraciones de diseño 6.1. Versionado Los servicios se definirán con un convenio de versionado que facilite que las futuras actualizaciones son reconocibles y por tanto diferenciables. Para ello detrás del nombre del servicio y de todos los objetos relacionados se incluye un número de versión. 6.2. Integridad Transaccional Los servicios web se despliegan utilizando el protocolo de transporte HTTPS. Básicamente una petición HTTPS consiste en una petición que procesa el servidor y genera su respectiva respuesta. En condiciones normales el protocolo descrito anteriormente responde a las necesidades de un servicio web, pero puede ocurrir por diversos motivos (caída de red, caída del servidor,...) que el cliente no reciba la respuesta y en estas ocasiones NO podemos conocer si el servidor ha procesado la petición o no. Esta circunstancia puede no tener importancia, por ejemplo en una consulta para conocer el estado, se volverá a pedir más tarde no afectando a la integridad de los datos, sin embargo si el servicio actualizar la base de datos el resultado después de aplicar dos peticiones iguales podría alterar de forma sustancial lo esperado (imaginemos un mensaje de resto 100 unidades a una cuenta, al realizarlo dos veces por no tener confirmación de la primera petición habríamos restado 200 en vez de 100). Por lo anterior, en todo servicio web que actualice información se implementa un mecanismo que garantice un control de las peticiones duplicadas. Cada petición contiene una referencia unívoca de tal modo que caso de recibir una petición con la misma referencia que una previa actuaremos del siguiente modo: Si el contenido del mensaje es idéntico al recibido en la primera ocasión, se devolverá la respuesta que se generó para la primera petición. Si el contenido del mensaje difiere al recibido en la primera ocasión, se devolverá un error indicando el uso incorrecto de la referencia que debería ser unívoca. Con este mecanismo el cliente, en caso de error y por tanto de indeterminación de sí se ha procesado o no la petición, tiene una forma fácil de resincronizarse con garantía de integridad en el resultado final de la operación. ( Si no se recibió la primera petición se procesará como nueva en caso contrario se devolverá la respuesta generada con la petición anterior). 6.3. Comunicación de incidencias en el procesado de las declaraciones. Impreso:11/04/2011 Pág: 15/16
En caso de incidencias en la aplicación estás serán comunicadas tal como se describen en el protocolo SOAP V1.1, es decir utilizando el elemento FAULT. casos: Resultado A modo de resumen como respuesta a una petición se pueden producir los siguientes Acción Recibimos una respuesta con el xml esperado Recibimos un respuesta con elemento FAULT y faultcode del tipo soapenv:server. No progresa la trasmisión o bien no recibimos un documento xml que responde a lo esperado Recibimos un respuesta con elemento FAULT y faultcode del tipo soapenv:client. OK. Mensaje procesado Reenviar mensaje Reenviar mensaje La respuesta enviada NO es formalmente incorrecta, o bien contiene referencia única duplicada de otra con distinto contenido. La declaración NO se debe reenviar. Impreso:11/04/2011 Pág: 16/16