Este proyecto cumple el objetivo de brindar solución de los nuevos requerimientos de DGI para el intercambio de documentos entre emisores y receptores:
https://www.efactura.dgi.gub.uy/principal/ampliacion_de_contenido/-25465?es
El desarrollo está basado en el siguiente documento de estándar definido por la DGI:
https://www.efactura.dgi.gub.uy/files/estandar-de-intercambio-entre-emisores-a-traves-de-servicios-web?es
No solo está cubriendo el proceso básico de publicación y consumo de de los nuevos servicios requeridos por DGI Uruguay sino que:
Respeta el formato compatible con WS-Security requerido por DGI.
Valida los documentos recibidos para determinar su almacenamiento para su post procesamiento o rechazarlo por no cumplir validaciones de formato.
Hay que tomar en cuenta que el estilo de DGI es incluir XMLs dentro de CDATA del XML principal del WSDL.
Por lo que el proceso de validación es mínimo a nivel del WSDL y la mayor parte del proceso de validación hay que hacerlo basado en la declaración extra de XSDs definidos por DGI.
Esto siempre lo hace la DGI de esta forma para permitir el versionado de los contenidos de la comunicación por Web Service sin ser necesario cambiar el EndPoint de conexión.
Validación del certificado utilizado en el envelope SOAP recibido verificando los datos del certificado en relación con el documento recibido en el contenido dentro del CDATA.
Determina el certificado a utilizar para dar respuesta según el RUT destinatario sea cliente o no del sistema.
Contempla el consumo del nuevo servicio de DGI que actualiza la información de la URL de Web Service de cada emisor electrónico que está en facturación electrónica.
Contempla el consumo del nuevo servicio de DGI para realizar la publicación de la URL de Web Services masiva para todos los clientes de la solución en lugar de que cada cliente tenga que hacerlo manualmente en la DGI.
Disponibiliza un External Object que no solo sirve para WS-Security sino para el soporte de Mutual TLS.
Disponibiliza un External Object que permite transferir información entre el Stub de GeneXus y el Handler para dar la respuesta firmada de un servicio basado en WS-Security.
Esta es una solución exclusiva para desarrollos con generador GeneXus Java.
Los fuentes entregados fueron probados con la versión de GeneXus 17 lo que no quiere decir que pueda ser compatible con versiones superiores como inferiores.