Estos procedimientos se encuentran en la sección de APIs que quiere decir que estos procedimientos no necesita que sean modificados por el programador. Solo deberá ser invocados.
Estos procedimientos tienen un parámetro de entrada y un parámetro de salida.
A los efectos de la documentación vamos a estar trabajando con uno de estos procedimientos porque el resto es análogo.
Vamos a estar trabajando con el procedimiento: ConsumoWSSobre
&SDTConsumoInV1
El parámetro de in está basado en: SDTConsumoInV1
Se divide en dos subestructuras:
Parametros: Refiere al SDTConsumoWSParametros común a todos los parámetros de In de los 4 métodos.
Data: Refiere a la información exclusiva (en este caso la data relativa al Sobre).
La definición de SDTConsumoWSParametros es la siguiente:
Los campos son:
URL: Representa la URL completa para conectarse al EndPoint del Emisor.
FormatoMetodo: Para lograr optimizar los consumos se puede indicar el formato de publicación del método. El valor que debería estar publicado el método es UpperCase de acuerdo a la documentación de la DGI. Pero se está previendo que debido a limitantes del lenguaje de programación o por diferencias entre la documentació de la DGI y la publicación del WSDL puedan estar publicados en CaseSensitive o en LowerCase. El proceso de consumo al terminar de ejecutar también informará el Formato del Método que logró la conectividad para permitir que el sistema almacene esta información con el objetivo que la próxima conexión no se realicen intentos de conexión fallidos.
MetodoConPrefijo: Este campo cumple una funcionalidad similar al campo anterior. En este caso indica si el método va acompañado del prefijo "WS_eFactura_Intercambio" seguido de un punto como está establecido por DGI.
A modo de ejemplo el método de recepción de Sobre tiene el siguiente formato: WS_eFactura_Intercambio.SOBRE
El estándar de DGI entonces es FormatoMetodo en UpperCase y MetodoConPrefijo en True.
ParametrosFirma: Contiene la referencia al Certificado Digital del RUT invocador que quiere realizar la llamada al método Sobre del RUT receptor.
HabilitarLog: identifica si se quiere generar log basado en la ejecución de la función Msg de GeneXus con el parámetro "Status".
La estructura de SDTSignatureParameters es la siguiente:
Los campos son:
KeyStoreFile: Referencia al Path del archivo que almacena el certificado digital.
KeyStorePassword: Identifica a la password del KeyStore.
KeyStoreType: Identifica el tipo de KeyStore. Los valores posibles están definidos en un dominio enumerado y son: JKS o PFX.
PrivateKeyAlias: Alias asociado al KeyStore. Solo válido si el KeyStore es un JKS.
PrivateKeyPassword: Password asociado a la clave privada del Certificado.
CryptoSignAlgorithm: Algoritmo de firma que se utilizará.
DefaultEncoding: Encoding que se utilizará para el proceso de firmado.
IncludeCertificateData: Indica si en la sección de Firma se debe incluir información del Certificado.
En el caso que el KeyStoreType sea PFX:
La password del PFX deberá indicarse en el campo PrivateKeyPassword.
No debe definirse valor en KeyStorePassword.
No debe definirse valor en PrivateKeyAlias.
&SDTConsumoOutV1
El parámetro de Out está basado en SDTConsumoOutV1 que es igual para los 4 métodos.
Los campos son:
Respuesta: Está basado en el SDTWSDataRespuesta con el estándar de respuesta establecido por DGI.
FormatoMetodo: Formato del método con que se logró establecer la conexión.
MetodoConPrefico: Indica si el método al que se conectó tiene el prefijo establecido por DGI.
ErrorCode: Código de Error en caso de fallo de intento de conexión.
ErrorDescription: Descripción del Error en caso de Fallo de intento de conexión.
La estructura de SDTWSDataRespuesta es la siguiente:
Con los siguientes campos:
Codigo: Codigo de Retorno de la respuesta generada por el método del Web Service ejecutado.
Descripcion: Descripción de Retorno de la respuesta generada por el método del Web Service ejecutado.
Detalle: Detalle de Retorno de la respuesta generada por el método del Web Service ejecutado.