Original file <font 12pt:normal/auto;;blue;;white>Iniciativa de INTEGRABILIDAD </font>
<font 12pt:normal/auto;;blue;;white>Manual del DESARROLLADOR</font>
Autor | Versión | Fecha |
Gervasio Claverie | 1 | 22-03-2010 |
Eduardo Aceto | 2 | 10-01-2013 |
La URL del mismo es http://autentica.neuquen.gov.ar:8080/scripts/autenticacion.exe?intf=IAutenticacion
A continuación se detallan las distintas funciones que incluye.
realiza la validación del usuario
string LoginPecas(stringUsuario, stringPassword)
Donde el resultado de tipo string es el ID de sesión de pecas. Si el usuario no es válido, devuelve una cadena vacía.
Verifica si el id de sesión de JOSSO sigue siendo válido.
CResultadoLoginJosso LoginJosso(string IDSesionJosso)
El parámetro de entrada IDSessionJosso es de tipo string y contiene el número identificador de la sesión creada por Josso cuando valida un usuario.
El resultado de la función de tipo CResultadoLoginJosso y está compuesto de los siguientes atributos:
String IDSesssion (Número identificador de la sesión Pecas)
String Username (Username que inició sesión en Josso)
String VerificarSesionActivaPecas(string IdSesionPecas)
Aquí el parámetro de entrada de tipo string IdSesionPecas es el ID de sesión entregado por PECAS.
Devuelve el resultado de la validación también en formato string. Si el ID no expiró devuelve el texto 'SESION OK', caso contrario devuelve 'SESION ERROR'
Nota: ésta función es obsoleta por lo cual se recomienda utilizar VerificarSesionActivaPecas_V2
String ObtenerUserNameDeSesion(string IdSesionPecas)
Aquí el parámetro de entrada de tipo string IdSesionPecas es el ID de sesión entregado por PECAS.
Devuelve como resultado el username del usuario asociado al id de sesión PECAS, también en formato string.
Boolean FijarBaseDeSesion(string IdSesion, string Base)
Donde Base es el nombre de la base de datos
Retorna en tipo de dato boolean (true o false) indicando si se pudo realizar la operación.
String ObtenerBaseDeSesion(stringIdSesion)
Aquí el parámetro de entrada de tipo string IdSesion es el ID de sesión entregado por PECAS.
Devuelve como resultado el nombre de la base de datos, también en formato string.
TDatosSesionPecas ObtenerDatosDeSesion(stringidSesion)
Aquí el parámetro de entrada de tipo string IdSesion es el ID de sesión entregado por PECAS.
El resultado de tipo TDatosSesionPecas es una estructura, que devuelve una serie de campos definidos de la siguiente manera:
String Usuario
String BaseDeDatos
Donde Usuario es el username, y BaseDeDatos es el nombre de la base.
Es para autorización por dos factores. Durante la sesión el usuario puede cambiar de nivel, se va guardando el máximo nivel en la sesión.
Int ObtenerNivelDeSesion(stringidSesion)
Aquí el parámetro de entrada de tipo string IdSesion es el ID de sesión entregado por PECAS.
Donde lo que retorna es un numero de tipo int que representa el nivel 0=nivel básico, 1=2 factores
Por ejemplo si en el LDAP todos los usuarios tienen el campo UID con su nro de DNI, entonces ObtenerInvolucrado devolvería siempre el dni del user.
String ObtenerInvolucrado(string idSesion)
Aquí el parámetro de entrada de tipo string IdSesion es el ID de sesión entregado por PECAS.
El resultado de la función de tipo string es el dato que representa al involucrado (por ejemplo dni)
String VerificarSesionActivaPecas_V2(string IdSesionPecas)
Aquí el parámetro de entrada de tipo string IdSesionPecas es el ID de sesión entregado por PECAS.
Devuelve el resultado de la validación también en formato string. Si el ID no expiró devuelve el texto 'SESION OK', caso contrario devuelve 'SESION ERROR'
boolean Logout(string idSesion)
Aquí el parámetro de entrada de tipo string IdSesionPecas es el ID de sesión entregado por PECAS.
Devuelve el resultado de la operación del cierre de sesión también en formato boolean. Si fue exitoso retorna True.
int ObtenerDuracionSesion(string IdSesion)
Aquí el parámetro de entrada de tipo string IdSesion es el ID de sesión entregado por PECAS.
Devuelve el resultado que contiene la cantidad de minutos que dura la sesión en formato int.
TResultadoEcho Echo (string texto)
Aquí el parámetro de entrada de tipo string se llama texto.
Devuelve el resultado de la llamada al servidor de autenticación en formato TResultadoEcho. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado (es 0 si no hubo error, sino aparece en su lugar el código del error).
String MensajeResultado (es el texto del mensaje de error devuelto si hubiese error).
String Resultado (es el texto enviado al servidor como parámetro de entrada).
String Encriptar(string texto)
Aquí el parámetro de entrada de tipo string es el texto que se desea encriptar.
Devuelve el texto encriptado también en formato string.
String Desencriptar(string texto)
El parámetro de entrada de tipo string es el texto que se quiere desencriptar.
Devuelve el resultado de la desencriptación o decodificación también en formato string.
La URL del Servicio es http://autoriza.neuquen.gov.ar:8080/scripts/autorizacion.exe/wsdl/IAutorizacion.
A continuación se detallan las distintas funciones que incluye.
Nota: Versión obsoleta, reemplazada por la versión 3.
El cliente solicita al autorizador la ejecución de un servicio. El autorizador verifica si está autorizado para solicitarlo y envía la solicitud a la fuente auténtica.
La fuente auténtica resuelve el servicio y envía el resultado al autorizador que a su vez lo envía al cliente.
El autorizador guarda log de la transacción.
TResultadoServicio Solicitar_Servicio(string IdSesionPecas, string Cliente, string Proveedor, string Servicio, string DatoAuditado, string Operador, byte[] Cuerpo, Boolean CuerpoFirmado, Boolean CuerpoEncriptado)
Donde:
-IdSesionPecas: identificador de sesión del cliente, entregado por el autenticador
-Cliente: código del cliente que solicita el servicio
-Proveedor: código del actor que es la Fuente Auténtica de la información
-Servicio: servicio de la Fuente Auténtica solicitado por el cliente
-DatoAuditado: involucrado de la consulta, generalmente DNI, legajo de quien se pide información
-Operador: Nombre de usuario del operador del sistema cliente.
-Cuerpo: es un archivo o array de bytes con información necesaria para realizar el servicio
-CuerporFirmado: Indica si el cliente firmó digitalmente el cuerpo del resultado.
-CuerpoEncriptado: Indica si el cliente encriptó el cuerpo del resultado.
Y el resultado de la función TResultadoServicio es una estructura, que devuelve una serie de campos definidos de la siguiente manera:
byte[] Resultado
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
int NumPedido
int CodResultado
string MensajeResultado
int TipoResultado
Donde:
-Resultado1..ResultadoN: arrays de bytes devueltos por la fuente auténtica.
-NumPedido: número de transacción con la que el autorizador guarda la solicitud
-CodResultado: Código del resultado del servicio. 0=ok, 1..N códigos de error
-MensajeResultado: En caso de error, se devuelve un texto descriptivo.
-TipoResultado: Indica si el error lo genera el autorizador o la fuente auténtica: 1=autorizador 2=fuente autentica
En esta versión del método se pasa la firma en forma separada.
Nota: Versión obsoleta, reemplazada por la versión 3.
El cliente solicita al autorizador la ejecución de un servicio. El autorizador verifica si está autorizado para solicitarlo y envía la solicitud a la fuente auténtica.
La fuente auténtica resuelve el servicio y envía el resultado al autorizador que a su vez lo envía al cliente.
El autorizador guarda log de la transacción.
TResultadoServicio2 Solicitar_Servicio2(string IdSesionPecas, string Cliente, string Proveedor,
string Servicio, string DatoAuditado, string Operador,
byte[] Cuerpo, byte[] Firma,
Boolean CuerpoFirmado, Boolean CuerpoEncriptado)
Donde:
-IdSesionPecas: identificador de sesión del cliente, entregado por el autenticador
-Cliente: código del cliente que solicita el servicio
-Proveedor: código del actor que es la Fuente Auténtica de la información
-Servicio: servicio de la Fuente Auténtica solicitado por el cliente
-DatoAuditado: involucrado de la consulta, generalmente DNI, legajo de quien se pide información
-Operador: Nombre de usuario del operador del sistema cliente.
-Cuerpo: es un archivo o array de bytes con información necesaria para realizar el servicio
-Firma: firma que se envía como primera parte de la firma digital.
-CuerporFirmado: Indica si el cliente firmó digitalmente el cuerpo.
-CuerpoEncriptado: Indica si el cliente encriptó el cuerpo.
Y el resultado de la función TResultadoServicio2 es una estructura, que devuelve una serie de campos definidos de la siguiente manera:
byte[] Resultado
byte[] FirmaResultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
int NumPedido
int CodResultado
string MensajeResultado
int TipoResultado
Donde:
-Resultado1..ResultadoN: arrays de bytes devueltos por la fuente auténtica.
-FirmaResultado1: Dato que se retorna como la segunda parte para completar la firma digital.
-NumPedido: número de transacción con la que el autorizador guarda la solicitud
-CodResultado: Código del resultado del servicio. 0=ok, 1..N códigos de error
-MensajeResultado: En caso de error, se devuelve un texto descriptivo.
-TipoResultado: Indica si el error lo genera el autorizador o la fuente auténtica: 1=autorizador 2=fuente autentica
A diferencia de Solicitar_servicio2, en esta versión se pasa la firma en forma separada y en el resultado total se envían los resultados parciales y las firmas correspondientes separadas.
El cliente solicita al autorizador la ejecución de un servicio. El autorizador verifica si está autorizado para solicitarlo y envía la solicitud a la fuente auténtica.
La fuente auténtica resuelve el servicio y envía el resultado al autorizador que a su vez lo envía al cliente.
El autorizador guarda log de la transacción.
TResultadoServicio Solicitar_Servicio3(string IdSesionPecas, string Cliente, string Proveedor,
string Servicio, string DatoAuditado, string Operador,
byte[] Cuerpo, byte[] Firma, Boolean CuerpoFirmado,
Boolean CuerpoEncriptado)
Donde:
-IdSesionPecas: identificador de sesión del cliente, entregado por el autenticador
-Cliente: código del cliente que solicita el servicio
-Proveedor: código del actor que es la Fuente Auténtica de la información
-Servicio: servicio de la Fuente Auténtica solicitado por el cliente
-DatoAuditado: involucrado de la consulta, generalmente DNI, legajo de quien se pide información
-Operador: Nombre de usuario del operador del sistema cliente.
-Cuerpo: es un archivo o array de bytes con información necesaria para realizar el servicio
-Firma: firma que se envía como primera parte de la firma digital.
-CuerporFirmado: Indica si el cliente firmó digitalmente el cuerpo.
-CuerpoEncriptado: Indica si el cliente encriptó el cuerpo.
Y el resultado de la función TResultadoServicio3 es una estructura, que devuelve una serie de campos definidos de la siguiente manera:
byte[] Resultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
byte[] FirmaResultado1
byte[] FirmaResultado2
byte[] FirmaResultado3
byte[] FirmaResultado4
byte[] FirmaResultado5
int NumPedido
int CodResultado
string MensajeResultado
int TipoResultado
boolean ResultadoFirmado
boolean ResultadoEncriptado
Donde:
-Resultado1..ResultadoN: arrays de bytes devueltos por la fuente auténtica.
-FirmaResultado1.. FirmaResultado1: arrays de bytes con el dato que se retorna como la segunda parte para completar la firma digital.
-NumPedido: número de transacción con la que el autorizador guarda la solicitud
-CodResultado: Código del resultado del servicio. 0=ok, 1..N códigos de error
-MensajeResultado: En caso de error, se devuelve un texto descriptivo.
-TipoResultado: Indica si el error lo genera el autorizador o la fuente auténtica: 1=autorizador 2=fuente autentica.
-ResultadoFirmado: Avisa con valor verdadero si el resultado fue firmado digitalmente.
-ResultadoEncriptado: Avisa con valor verdadero si el resultado fue encriptado o codificado.
El autorizador tiene registradas las claves públicas de firma digital de todos los actores. Cualquier actor que haya sido autenticado puede solicitar la clave pública de otro actor.
byte[] Solicitar_ClavePublica(string IdSesionPecas, string Proveedor)
Donde los parámetros de entrada son:
-IdSesionPecas: identificador de sesión del cliente
-Proveedor: código del actor del que se pide la clave pública.
Retorna el resultado como un array de bytes conteniendo la clave pública
Cuando el cliente recibe el resultado del servicio que solicitó, puede informar si los datos recibidos son correctos
Informar_Resultado_del_Servicio(string IdSesionPecas, int NumPedido, string Cliente,string Proveedor, int CodResultado)
Donde:
-IdSesionPecas: identificador de sesión del cliente
-NumPedido: número de la transacción generada por el servicio
-Cliente: cliente que informa el resultado
-Proveedor: fuente auténtica consultada
-CodResultado: Código del resultado del servicio. 0=ok, 1..N códigos de error
CResultadoMenu RecuperarMenuDeUsuario(string IdSesionPecas, string CodigoMenu)
Donde los parámetros de entrada son:
-IdSesionPecas: identificador de sesión del cliente
-CodigoMenu: código del nodo que es raíz del árbol de autorizaciones
El valor resultado CResultadoMenu es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
- boolean Resultado
- ArrayDeMenu Menu
- Int Codigo
- String Descripcion
- Int codigopadre
- String CodigoExterno
- Int NivelAutorizacion
Donde:
-Resultado: indica si se pudo resolver la solicitud.
-Menu: array de servicios del tipo ArrayDeMenu organizado como una estructura padre/hijo, donde cada elemento contiene un objeto del tipo TNodoMenu, descripto a continuación:
Int Codigo: código numérico del servicio
String Descripcion: nombre del servicio
Int codigopadre: padre del servicio (la fuente auténtica)
String CodigoExterno: código alfanumérico del servicio
Int NivelAutorizacion: Nivel de autorización (lectura, escritura, ejecución)
Este método es igual al método anterior, pero el resultado lo devuelve en otra estructura, compatible con JAVA
CResultadoMenuJava RecuperarMenuDeUsuarioParaJAVA(string IdSesionPecas,
string CodigoMenu)
Donde la descripción de los parámetros de entrada:
-IdSesionPecas: identificador de sesión del cliente
-CodigoMenu: código del nodo que es raíz del árbol de autorizaciones
El resultado de la funcion es del tipo CResultadoMenuJava, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
Boolean Resultado
ArrayDeInt Codigo
ArrayDeString Descripcion
ArrayDeInt CodigoPadre
ArrayDeString CodigoExterno
ArrayDeInt NivelAutorizacion
Donde la salida son array paralelos conteniendo la lista de servicios solicitadas. Esta organizada como una estructura padre/hijo.
- Resultado: indica si se pudo recuperar la lista de servicios autorizados
- Codigo: array con los códigos numéricos de los servicios
- Descripcion: array con las descripciones de los servicios
- CodigoPadre: array con los códigos numéricos de los padres de cada servicio (la fuente auténtica)
- CodigoExterno: codigo alfanumérico del servicio.
- NivelAutorizacion: array con el nivel de autorización de cada servicio
Nota: Esta Versión es obsoleta y fue reemplazada por la Versión 3.
CResultadoMenu_V2 RecuperarMenuDelUsuario_V2(string IdSesionPecas, string Codigomenu)
Donde los parámetros de entrada se describen de la siguiente manera:
- IdSesionPecas : identificador de sesión del cliente
- CodigoMenu : código del nodo que es raíz del árbol de autorizaciones
El resultado entregado por la función es del tipo CResultadoMenu_V2, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
Boolean Resultado
TIntegerDynArray Codigo
TStringDynArray Descripcion
TIntegerDynArray CodigoPadre
TStringDynArray CodigoExterno
TIntegerDynArray NivelAutorizacion
TStringDynArray ProgramaAsociado
TStringDynArray Comentarios
Donde:
- Resultado: indica si se pudo recuperar la lista de servicios autorizados
- Codigo: array con los códigos numéricos de los servicios
- Descripcion: array con las descripciones de los servicios
- CodigoPadre: array con los códigos numéricos de los padres de cada servicio (la fuente auténtica)
- CodigoExterno: codigo alfanumérico del servicio.
- NivelAutorizacion: array con el nivel de autorización de cada servicio
- ProgramaAsociado: path o url asociado al item
CResultadoMenu_V4 RecuperarMenuDelUsuario_V3(string IdSesionPecas, string Codigomenu)
Donde los parámetros de entrada se describen de la siguiente manera:
- IdSesionPecas : identificador de sesión del cliente
- CodigoMenu : código del nodo que es raíz del árbol de autorizaciones
El resultado entregado por la función es del tipo CResultadoMenu_V4, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
Boolean Resultado
TIntegerDynArray Codigo
TStringDynArray Nombre
TIntegerDynArray CodigoPadre
TStringDynArray CodigoExterno
TIntegerDynArray NivelAutorizacion
TStringDynArray ProgramaAsociado
TStringDynArray Comentarios
TStringDynArray Descripcion
String MensajeResultado
Donde:
- Resultado: indica si se pudo recuperar la lista de servicios autorizados
- Codigo: array con los códigos numéricos de los servicios
- Nombre: array con los nombres de los servicios
- CodigoPadre: array con los códigos numéricos de los padres de cada servicio (la fuente auténtica)
- CodigoExterno: codigo alfanumérico del servicio.
- NivelAutorizacion: array con el nivel de autorización de cada servicio
- ProgramaAsociado: array con path o url asociado a cada item
- Comentarios: array con los comentarios de cada servicio.
- Descripcion: array con las descripciones de los servicios
- MensajeResultado: mensaje de texto con el resultado de esta consulta.
TParametrosDeServicio ObtenerParametrosDeServicio(string IdSesionPecas, string Servicio, string Proveedor)
Donde los parámetros de entrada se describen de la siguiente manera:
- IdSesionPecas : identificador de sesión del cliente
- Servicio : Nombre del servicio que se desea consultar
- Proveedor: Quien es el proveedor del servicio a utilizar.
El resultado entregado por la función es del tipo TParametrosDeServicio, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
TStringDynArray Nombres
TStringDynArray Tipos
TStringDynArray Valores
Int CodResultado
String MensajeResultado
Donde:
- Nombres: array con los nombres de los parámetros necesarios para llamar al servicio.
- Tipos: array con los tipos de datos de cada uno de los parámetros de llamada al servicio.
- Valores: array con los valores de los parámetros de llamada al servicio.
- CodResultado: Código del resultado de la llamada al servicio. 0=ok, 1..N códigos de error
- MensajeResultado: mensaje de texto con el resultado de esta consulta.
CResultadoMenu_V3 RecuperarCatalogoServicios(string IdSesionPecas, string Codigomenu)
Donde los parámetros de entrada se describen de la siguiente manera:
- IdSesionPecas : identificador de sesión del cliente
- Codigomenu : identificador del menu al cual se desea utilizar.
El resultado entregado por la función es del tipo CResultadoMenu_V3, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
Boolean Resultado
TIntegerDynArray Codigo
TStringDynArray Nombre
TIntegerDynArray CodigoPadre
TStringDynArray CodigoExterno
TIntegerDynArray NivelAutorizacion
TStringDynArray ProgramaAsociado
TStringDynArray Comentarios
TStringDynArray Descripcion
Donde:
- Resultado: valor verdadero o falso para determinar si la consulta fue exitosa.
- Codigo: array con los codigos de servicios presente en este catálogo.
- Nombre: array con los nombres de los servicios disponibles.
- CodigoPadre: array con los códigos de los padres correspondientes a cada uno de los servicios del catálogo.
- CodigoExterno: array con la lista de los códigos externos de los servicios listados en el catálogo.
- NivelAutorizacion: array con los niveles de autorización correspondientes a cada uno de los servicios.
- ProgramaAsociado: array con el listado de programas asociados a cada servicio.
- Comentarios: array con los comentarios correspondientes a cada servicio listado.
- Descripcion: array con la descripción de que es lo que hace cada servicio aparecido en el catálogo.
TResultadoEjemploServicio ObtenerEjemploResultadoServicio(string IdSesionPecas, string Servicio)
Donde los parámetros de entrada se describen de la siguiente manera:
- IdSesionPecas : identificador de sesión del cliente
- Servicio : identificador del servicio desde el cual se desea obtener el ejemplo.
El resultado entregado por la función es del tipo TResultadoEjemploServicio, el cual es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
int CodResultado
string MensajeResultado
byte[] Resultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
Donde:
- CodResultado : Código del resultado del servicio. 0=ok, 1..N códigos de error.
- MensajeResultado: En caso de error, se devuelve un texto descriptivo del mismo.
- Resultado1..ResultadoN : arrays de bytes devueltos por la fuente auténtica.
TResultadoEcho Echo (string texto)
Aquí el parámetro de entrada de tipo string se llama texto.
Devuelve el resultado de la llamada al servidor de autorización en formato TResultadoEcho. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado (es 0 si no hubo error, sino aparece en su lugar el código del error).
String MensajeResultado (es el texto del mensaje de error devuelto si hubiese error).
String Resultado (es el texto enviado al servidor como parámetro de entrada).
TListaNodosIntegrabilidadRecuperarListaNodosIntegrabilidad(string IdSesionPecas)
Aquí el parámetro de entrada de tipo string se llama IdSesionPecas y contiene al identificador de sesión del cliente.
Devuelve el resultado de la llamada al servidor de autorización en formato TListaNodosIntegrabilidad . Este tipo de dato esta compuesto de los siguientes atributos:
TStringDynArray Codigos
TStringDynArray Nombres
Byte[] Tipos
Byte[] Estados
TStringDynArray IPs
TStringDynArray Mensajes
Int CodResultado
String MensajeResultado
Donde:
- Codigos: es un arrary con los codigos de identificación de los nodos de integrabilidad.
- Nombres: es un array con los nombres de los nodos de integrabilidad.
- Tipos: es un array con los tipos de los nodos, por ejemplo: si es un nodo autenticador (0), autorizador(1), y fuente auténtica(3).
- Estados: es un array que contiene los respectivos estados de los nodos, siendo los posibles valores de estado: ok(1) o con error en los test de acceso(2).
- IPs: es un array de las direcciones IPs correspondientes a cada nodo del listado.
- Mensajes: es un array con los mensajes recibidos de cada nodo.
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: aquí se detalla con un mensaje de texto lo que ocurrió con la función.
TListaServiciosDeFA RecuperarListaWebServicesDeFA(string IdSesionPecas, string CodigoFa)
Aquí los parámetros de entrada son de tipo string. El primero se llama IdSesionPecas y contiene al identificador de sesión del cliente. Y el segundo es CodigoFA y se usa para guardar el código de la Fuente Auténtica, de la cual se obtendrá la lista de webservices disponibles.
Devuelve el resultado de la llamada al servidor de autorización en formato TListaServiciosDeFA. Este tipo de dato esta compuesto de los siguientes atributos:
TStringDynArray Codigos
TStringDynArray Nombres
TStringDynArray Descripciones
TStringDynArray SistemaFuenteDatos
TStringDynArray ComoTrabaja
TStringDynArray DatosParaTest
TStringDynArray RespuestaEsperada
TStringDynArray Responsable
Byte[] Estados
TStringDynArray URLs
TStringDynArray Mensajes
Int CodResultado
String MensajeResultado
Donde:
- Codigos: es un arrary con los codigos de identificación de los WebServices de la FA.
- Nombres: es un array con los nombres de los webservices con que cuenta esa FA.
- Descripciones: es un array con las descripciones de cada uno de los webservices de esta FA.
- SistemaFuenteDatos: es un array que contiene en cada elemento del mismo, el sistema que originó el dato.
- ComoTrabaja:es un array conteniendo las descripciones de cómo trabaja cada uno de los servicios para recuperar los datos.
- DatosParaTest:es un array con parámetros de ejemplo para invocar al servicio.
- RespuestaEsperada: es un array que contiene un descripción del formato que va a tener el resultado del servicio. Por ejemplo si es xml, cual es la estructura.
- Responsable: es un array con los responsables de cada uno de los webservices provistos por la FA.
- Estados: es un array que contiene los respectivos estados de los servicios siendo los posibles valores de estado: ok(1) o con error en los test de acceso(2).
- URLs: es un array de las direcciones URLs correspondientes a cada webservice provisto por la FA.
- Mensajes: es un array con los mensajes recibidos de cada webservice.
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: aquí se detalla con un mensaje de texto lo que ocurrió con la función de consulta.
TListaUsuariosDeMenu RecuperarUsuariosDeMenu(string IdSesionUsuario, string Raiz, string Opcion)
Aquí los parámetros de entrada son de tipo string. El primero se llama IdSesionUsuario y contiene al identificador de sesión del cliente. El segundo es Raiz y se usa para guardar la raíz del menú al que se quiere acceder. Y finalmente el tercero, Opcion, es para indicar que opción del menú es a la que se quiere consultar.
Devuelve el resultado de la llamada al servidor de autorización en formato TListaUsuariosDeMenu. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
TStringDynArray Codigos
TStringDynArray Nombres
TStringDynArray CodigosPadre
TStringDynArray CodigosUsuarios
TStringDynArray CodigosItems
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en caso que hubo error en la consulta.
- Codigos: es un arrary con los codigos de identificación de los ítems del menú.
- Nombres: es un array con los nombres de los ítems del menú.
- CodigosPadre: es un array con las código del padre de un determinado ítem del menú.
- CodigosUsuarioss: es un array de los códigos de los usuarios con acceso a esta opción del menu.
- CodigosItems: es un array con los códigos de los ítems correspondientes a cada uno de los usuarios del menú.
TResultadoAsignacionMenu AutorizarUsuarioMenu(string IdSesionUsuario, string Raiz,string Usuario, string Opcion,TNivelPermiso Nivel Permiso)
Aquí los tres primeros parámetros de entrada son de tipo string. El primero se llama IdSesionUsuario y contiene al identificador de sesión del cliente. El segundo es Raiz y se usa para guardar la raíz del menú al que se quiere autorizar. Y el tercero, Opcion, es para indicar que opción del menú es a la que se quiere autorizar.
El cuarto parámetro de entrada es del tipo TNivelPermiso y permite elegir entre los siguientes valores de tipo string: npNinguno, npLectura, npInsercion, npModificacion y npBorrado.
La función devuelve el resultado de la llamada al servidor de autorización en formato TResultadoAsignacionMenu. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
TResultadoAsignacionMenu AutorizarUsuarioMenu(string IdSesionUsuario, string Raiz,string Usuario, string Opcion,TNivelPermiso Nivel Permiso)
Aquí los tres primeros parámetros de entrada son de tipo string. El primero se llama IdSesionUsuario y contiene al identificador de sesión del cliente. El segundo es Raiz y se usa para guardar la raíz del menú al que se quiere cortar el acceso. Y el tercero, Opcion, es para indicar que opción del menú es a la que se quiere suspender el acceso.
El cuarto parámetro de entrada es del tipo TNivelPermiso y permite elegir entre los siguientes valores de tipo string: npNinguno, npLectura, npInsercion, npModificacion y npBorrado.
La función devuelve el resultado de la llamada al servidor de autorización en formato TResultadoAsignacionMenu. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
TResultadoUsuarioHabilitadoParaMenu AutorizarUsuarioMenu(string IdSesionUsuario, string Raiz, string Menu)
Aquí los parámetros de entrada son de tipo string. El primero se llama IdSesionUsuario y contiene al identificador de sesión del cliente. El segundo es Raiz y se usa para guardar la raíz del menú al que se quiere evaluar el permiso. Y el tercero, Menu, es para indicar que opción del menú es a la que se quiere analizar el permiso de este usuario.
La función devuelve el resultado de la llamada al servidor de autorización en formato TResultadoUsuarioHabilitadoParaMenu. Este tipo de dato esta compuesto de los siguientes atributos:
Boolean Habilitado
Int CodResultado
String MensajeResultado
Donde:
- Habilitado: dice si el usuario esta habilitado o no para utilizar un menú en particular.
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
TResultadoRolesDeUsuario RolesDeUsuario(string IdSesionUsuario, int Proceso, int Version)
Aquí el primero parámetro de entrada es de tipo string, se llama IdSesionUsuario y contiene al identificador de sesión del cliente. El segundo es de tipo int, Proceso, y guarda el código identificador del proceso. Y finalmente el tercero, Version, también de tipo int, indica el numero de la versión del proceso a la que se hace referencia.
La función devuelve el resultado de la llamada al servidor de autorización en formato TResultadoRolesDeUsuario. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
TIntegerDynArray ListaRoles
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
- ListaRoles: es un array y donde cada elemento del array contiene los códigos numéricos de cada uno de los roles.
TResultadoUsuariosDependientes UsuariosDependientes (string IdSesionUsuario)
Aquí el único parámetro de entrada es de tipo string, se llama IdSesionUsuario y contiene al identificador de sesión del cliente.
La función devuelve el resultado de la llamada al servidor de autorización en formato TResultadoUsuariosDependientes. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
TIntegerDynArray Usuarios
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
- Usuarios: es un array y donde cada elemento del array contiene los códigos numéricos de identificación de cada uno de los usuarios.
TBasesDeUsuario RecuperaBasesDeUsuario(string IdSesionUsuario)
Aquí el único parámetro de entrada es de tipo string, se llama IdSesionUsuario y contiene al identificador de sesión del cliente.
La función devuelve el resultado de la llamada al servidor de autorización en formato TBasesDeUsuario. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado
String MensajeResultado
Donde:
- CodResultado: es un número para representar el código de resultado de esta función. En donde 0 significa que no hubo error.
- MensajeResultado: es el texto que devuelve distinto de vacío en el caso en que hubo error en la ejecución de la función.
CResultadoMenu_V4 RecuperarMenuDeOtroUsuario(string IdSesionPecas, string CodigoMenu, string usuario)
Los tres parámetros de entrada son de tipo string. El primero se llama IdSesionPecas y contiene al identificador de sesión del cliente. El segundo es el Codigomenu y guarda el código del menú al cual se refiere la consulta. Y finalmente usuario es el usuario del cual se quiere recuperar el menú.
La función devuelve el resultado de la llamada al servidor de autorización en formato CResultadoMenu_V4. Este tipo de dato esta compuesto de los siguientes atributos:
Boolean Resultado
TIntegerDynArray Codigo
TStringDynArray Nombre
TIntegerDynArray CodigoPadre
TStringDynArray CodigoExterno
TIntegerDynArray NivelAutorizacion
TStringDynArray ProgramaAsociado
TStringDynArray Comentarios
TStringDynArray Descripcion
String MensajeResultado
Donde:
- Resultado: indica si se pudo recuperar la lista de servicios autorizados
- Codigo: array con los códigos numéricos de los servicios
- Nombre: array con los nombres de los servicios
- CodigoPadre: array con los códigos numéricos de los padres de cada servicio (la fuente auténtica)
- CodigoExterno: codigo alfanumérico del servicio.
- NivelAutorizacion: array con el nivel de autorización de cada servicio
- ProgramaAsociado: array con path o url asociado a cada item
- Comentarios: array con los comentarios de cada servicio.
- Descripcion: array con las descripciones de los servicios
- MensajeResultado: mensaje de texto con el resultado de esta consulta.
La URL del Servicio es http://autoriza.neuquen.gov.ar:8080/scripts/usuarios.exe.
A continuación se detallan las distintas funciones que incluye.
CResultadoAreas RecuperarAreas(string IdSesion)
Donde el parámetro de entrada de tipo string, IDSesión, es el identificador de la sesión del cliente
Esta función retorna un objeto del tipo CResultadoAreas, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Areas
boolean Resultado
Donde:
- Áreas: es un array conteniendo los códigos de las áreas.
- Resultado: indica si se pudo resolver el servicio
CResultadoUsuarios RecuperarUsuarios(string IdSesion)
Donde el parámetro de entrada de tipo string, IDSesión, es el identificador de la sesión del cliente
Esta función retorna un objeto del tipo CResultadoUsuarios que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Areas
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Usuarios: es un array conteniendo los códigos de los usuarios.
ArrayDeString RecuperarDescripcionUsuarios(string IdSesion, ArrayDeInt CodigosUsuarios)
Donde el parámetro de entrada de tipo string, IDSesión, es el identificador de la sesión del cliente.
Y CodigosUsuarios es unArrayDeInt, o sea es un array conteniendo los códigos de usuarios.
Esta función retorna un objeto del tipo ArrayDeString. ArrayDeString es un array conteniendo las descripciones de los usuarios
CResultadoPuestosRecuperarPuestos(string IdSesion)
Donde el parámetro de entrada de tipo string, IDSesión, es el identificador de la sesión del cliente
Esta función retorna un objeto del tipo CResultadoPuestos que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Puestos
ArrayDeInt Padres
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Puestos: array conteniendo los códigos de las puestos.
- Padres: array paralelo a puestos, conteniendo los códigos de los padres de cada puesto.
CResultadoBases RecuperarBasesDeUsuarios(string IdSesion, string Usuario, string Password)
Donde los tres parámetros de entrada son de tipo string. IDSesión es el identificador de la sesión del cliente. Usuario es el username. Por último, Password es la contraseña del mismo y en el caso de validación con LDAP puede ser nula.
Esta función retorna un objeto del tipo CResultadoBases que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeString Bases
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Bases: array conteniendo los códigos de las bases de datos.
Idem función RecuperarBasesDeUsuario
Idem función RecuperarBasesDeUsuario
CResultadoPuesto RecuperarPuesto(string IdSesionPecas, int CodigoPuesto)
Donde el parámetro de entrada IdSesionPecas es de tipo string. IDSesiónPecas es el identificador de la sesión del cliente. Por último, CodigoPuesto es de tipo int y contiene código del puesto del que se quieren recuperar datos.
Esta función retorna un objeto del tipo CResultadoPuesto que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
String Nombre
String Descripcion
Int Padre
boolean Resultado
string CodigoExterno
Donde:
- Nombre: es el nombre del puesto
- Descripcion: es la descripción adicional del puesto
- Padre: es el código del puesto padre
- Resultado: indica si se pudo resolver el servicio
- CodigoExterno: es el código externo del puesto (si tuviera).
CResultadoAreas RecuperarAreas(string IdSesionPecas, int CodigoArea)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoArea, es de tipoint y contiene el código del Área del que se quieren recuperar datos.
Esta función retorna un objeto del tipo CResultadoArea, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
string Nombre
string Descripcion
boolean Resultado
Donde:
- Nombre: es el nombre del Área
- Descripcion: es la descripción adicional del Área
- Resultado: indica si se pudo resolver el servicio
ArrayDeString RecuperarDescripcionAreas(string IdSesion, ArrayDeInt CodigosAreas)
Donde el parámetro de entrada de tipo string, IDSesión, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigosAreas, es de tipoArrayDeInt con los códigos de las Áreas de las que se quieren recuperar datos.
Esta función retorna un objeto del tipo ArrayDeString, que es un Array con las descripciones de las areas.
CResultadoGruposDePuestos RecuperarGruposDePuestos (string IdSesionPecas)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente.
Esta función retorna un objeto del tipo CResultadoGruposDePuestos, es una estructura que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt GrupoDePuestos
boolean Resultado
Donde:
- GrupoDePuestos: es un array con los códigos de los grupos de puestos.
- Resultado: indica si se pudo resolver el servicio
CResultadoGrupoDePuestos RecuperarGrupoDePuestos (string IdSesionPecas,
int CodigoPuesto)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. Y el último parámetro de entrada contiene una variable de tipo int y se llama CodigoPuesto.
Esta función retorna un objeto del tipo CResultadoGrupoDePuestos, es una estructura que devuelve una serie de campos y vectores definidos de la siguiente manera:
string NombreGrupo
ArrayDeInt Puestos
boolean Resultado
Donde:
- NombreGrupo: nombre del grupo
- Puestos: array con los códigos de puestos que pertenecen al grupo
- Resultado: indica si se pudo resolver el servicio
CResultadoGruposDeUsuarios RecuperarGruposDeUsuarios (string IdSesionPecas)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente.
Esta función retorna un objeto del tipo CResultadoGruposDeUsuarios, es una estructura que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt GrupoDeUsuarios
boolean Resultado
Donde:
- GrupuDeUsuarios: es un array con los códigos de los grupos de usuarios.
- Resultado: indica si se pudo resolver el servicio
CResultadoGrupoDeUsuarios RecuperarGrupoDeUsuarios (string IdSesionPecas, int CodigoGrupo)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoGrupo, es de tipoint y contiene el código del grupo del que se quieren recuperar datos.
Esta función retorna un objeto del tipo CResultadoGrupoDeUsuarios, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
string Nombre
boolean Resultado
ArrayDeInt Usuarios
Donde:
- Resultado: indica si se pudo resolver el servicio
- NombreGrupo: nombre del grupo
- Usuarios: es un array con los códigos de los usuarios que pertenecen al grupo
CResultadoEquipoDeUsuarios RecuperarEquiposDeUsuarios(string IdSesionPecas)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente.
Esta función retorna un objeto del tipo CResultadoEquipoDeUsuarios, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Equipos
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Equipos: es un array con los códigos de los equipos de usuarios.
CResultadoUsuario RecuperarUsuario(string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo CResultadoUsuario, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
string Nombre
string EMail
boolean Resultado
Donde:
- Nombre: es el nombre de usuario
- Email: es el email del usuario
- Resultado: indica si se pudo resolver el servicio
CResultadoUsuario RecuperarPuestosDeUsuario (string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo CResultadoPuestosDeUsuario, que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Puestos
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Puestos: es un array con los códigos de puestos que el usuario ocupa
ArrayDeString RecuperarDescripcionPuestosDeUsuario(string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo ArrayDeString, que es un vector con la descripción de los puestos que ocupa el usuario
CResultadoRecuperarAreasDeUsuario RecuperarAreasDeUsuario (string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo CResultadoRecuperarAreasDeUsuario, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Areas
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Areas: es un array con los códigos de las Áreas que el usuario ocupa
CResultadoGruposDeUsuarios_DeUsuario RecuperarGruposDeUsuarios_DeUsuario (string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo CResultadoGruposDeUsuarios_DeUsuario, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Grupos
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Grupos: es un array con los códigos de los grupos a los cuales el usuario pertenece
ArrayDeStringRecuperarDescripcionGruposDeUsuarios(string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo ArrayDeString que es un vector con la descripción de los grupos de usuarios a los que pertenece un usuario
CResultadoEquiposDeUsuarios_DeUsuarioRecuperarEquiposDeUsuarios_DeUsuario(string IdSesionPecas, int CodigoUsuario)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigoUsuario, de tipo int.
Esta función retorna un objeto del tipo CResultadoEquiposDeUsuarios_DeUsuario que es una estructura, que devuelve una serie de campos y vectores definidos de la siguiente manera:
ArrayDeInt Equipos
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Equipos: es un array con los códigos de los equipos a los que el usuario pertenece
ArrayDeStringRecuperarEquiposDeUsuarios_DeUsuario(string IdSesionPecas, ArrayDeInt CodigosEquipos)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es CodigosEquipos, de tipo ArrayDeInt, quees un vector con los códigos de los equipos de usuario.
Esta función retorna un objeto del tipo ArrayDeString que es un vector con las descripciones de los equipos solicitados
CResultadoDatos_DeUsuario RecuperarDatos_DeUsuario (string IdSesionPecas)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente.
Esta función retorna un objeto del tipo CResultadoDatos_DeUsuario que es una estructura con una serie de campos y vectores definidos de la siguiente manera:
int Codigo
string Descripcion
string CodigoExterno
Donde:
- Código: es el id de usuario
- Descripción: es el nombre del usuario
- CodigoExterno: es el código externo del usuario
CResultadoMarcas_DeUsuarioRecuperarMarcas_DeUsuario (string IdSesionPecas, String DNI)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es también de tipo string, DNI, y almacena el DNI del usuario requerido.
Esta función retorna un objeto del tipo CResultadoMarcas_DeUsuarioque es una estructura con una serie de campos y vectores definidos de la siguiente manera:
ArrayDeMarcas Marcas
boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Marca: es de tipo ArrayDeMarcas, que es un vector definido de la siguiente manera:
string Codigo
int Tipo
cuyo significado correspondiente sería:
- Código: indica el código de la marca
- Tipo: 1=marca,2=señal
CResultadoMarcas_DeUsuarioParaJava RecuperarMarcas_DeUsuarioParaJava (string IdSesionPecas, string DNI)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada contiene el numero de DNI del usuario.
Esta función retorna un objeto del tipo CResultadoMarcas_DeUsuarioParaJava que es una estructura con una serie de campos y vectores definidos de la siguiente manera:
ArrayDeString Codigo
ArrayDeInt Tipo
Boolean Resultado
Donde:
- Resultado: indica si se pudo resolver el servicio
- Codigos: array con los codigos de las marcas
- Tipo: array paralelo a codigos, con los tipos de cada marca (1=marca,2=señal)
CresultadoByteArchivo RecuperarUnaMarca(string IdSesionPecas, string CodMarca, int TipoMarca)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada CodMarca, contiene el código de la marca y es también de tipo string. Y por último el tercer parámetro es de tipo int, TipoMarca, cuyos valores podrán ser: 1=marca,2=señal
Esta función retorna un objeto del tipo CResultadoByteArchivo que es una estructura con una serie de campos y vectores definidos de la siguiente manera:
Byte[] Codigo
Boolean Resultado
Donde:
- Datos: es la imágen de la marca o señal.
- Resultado: indica si se pudo resolver el servicio.
CResultadoByteArchivo GetArchivo(string IdSesionPecas, string NombreArchivo)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada NombreArchivo, contiene el nombre del archivo que se quiere obtener y es también de tipo string.
Esta función retorna un objeto del tipo CResultadoByteArchivo que es una estructura con una serie de campos y vectores definidos de la siguiente manera:
Byte[] Datos
Boolean Resultado
Donde:
- Datos: es el archivo que se está pidiendo.
- Resultado: indica si se pudo resolver el servicio.
La URL del Servicio es http://fautentica.neuquen.gov.ar:8080/scripts/fapecas.exe.
A continuación se detallan las distintas funciones que incluye.
TResultadoServicioFASolicitar_Servicio_FA (string IdSesionPecas,string coordinador, byte[] clave_publica_cliente, string Proveedor, string Servicio,string DatoAuditoria, byte[] Cuerpo, byte[] Firma, boolean CuerpoFirmado,boolean CuerpoEncriptado)
Descripción de los parámetros de entrada:
-IdSesionPecas: identificador de sesión del cliente
-coordinador: Identifica al coordinador que solicita el servicio
-clave_publica_cliente: clave publica de firma digital del cliente, utilizada para verificar la firma del pedido
-Proveedor: código de la fuente autentica que es dueña del servicio
-Servicio: código del servicio que solicita el cliente.
-DatoAuditoria: datos del involucrado en el servicio, por ejemplo dni o legajo.
-Cuerpo: datos adicionales opcionales si son necesarios para resolver el servicio.
-Firma: Resultado de firmar el cuerpo del mensaje con la clave privada del cliente.
-CuerpoFirmado: indica si el cuerpo fue firmado. Esto indica que hay que verificar la firma
-CuerpoEncriptado: indica si el cuerpo viene encriptado. Esto indica que hay que desencriptar el contenido primero.
La función retorna un objeto del tipo TResultadoServicioFA, que es una estructura con una serie de campos definidos de la siguiente manera:
int CodResultado
byte[] Resultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
byte[] FirmaResultado1
byte[] FirmaResultado2
byte[] FirmaResultado3
byte[] FirmaResultado4
byte[] FirmaResultado5
string MensajeResultado
Donde:
-CodResultado: número que representa el resultado del servicio. 0 en caso de éxito. Cualquier valor distinto de cero en caso de error.
-Resultado1: array de bytes donde se devuelve el resultado del servicio. Este array puede ser un archivo xml, una imagen, un archivo binario, etc.
-FirmaResultado(1..5): resultado de firmar el resultado(1..5) respectivamente, con la clave privada de la fuente auténtica.
-Resultado(2 a 5): array de bytes con resultados adicionales.
-MensajeResultado: en caso de error, contiene un mensaje descriptivo del código de error.
TListaServiciosFA ObtenerListaServicios (string IdSesionPecas, string Coordinador)
Donde el parámetro de entrada de tipo string, IDSesiónPecas, es el identificador de la sesión del cliente. El segundo parámetro de entrada es Coordinador, de tipo string.
Esta función retorna un objeto del tipo TListaServiciosFA, que devuelve una serie de campos y vectores definidos de la siguiente manera:
boolean Resultado
int CodigoResultado
string MensajeResultado
TStringDynArray Servicios
TStringDynArray Descripciones
TStringDynArray Nombres
TStringDynArray CodigosFuentesAutenticas
TStringDynArray SistemaFuenteDatos
TStringDynArray ComoTrabaja
TStringDynArray Responsable
TStringDynArray DatosParaTest
TStringDynArray RespuestaEsperada
TStringDynArray QuienLoUsa
Donde:
-Resultado: indica si se resolvió el servicio correctamente.
-CodigoResultado: número que representa el resultado del servicio. 0 en caso de éxito. Cualquier valor distinto de cero en caso de error.
-MensajeResultado: en caso de error, contiene un mensaje descriptivo del código de error.
-Servicios: array de cadenas de texto que contiene los códigos de los servicios disponibles en la Fuente Auténtica.
-Descripciones: array con la descripción de los servicios.
-Nombres: array con los nombres descriptivos de los servicios.
-CodigosFuentesAutenticas: array con los códigos de la fuente auténtica dueña de cada servicio
-SistemaFuenteDatos: es un array que contiene en cada elemento del mismo, el sistema que originó el dato.
-ComoTrabaja:es un array conteniendo las descripciones de cómo trabaja cada uno de los servicios para recuperar los datos.
-Responsable: es un array con los responsables de cada uno de los webservices provistos por la FA.
-DatosParaTest:es un array con parámetros de ejemplo para invocar al servicio.
-RespuestaEsperada: es un array que contiene un descripción del formato que va a tener el resultado del servicio. Por ejemplo si es xml, cual es la estructura.
-QuienLoUsa: array con los sistemas clientes que son los posibles usuarios de cada servicio.
TParametrosDeServicioObtenerParametrosDeServicio (string servicio)
El parámetro de entrada de tipo string, servicio, es el código del servicio que solicita el cliente.
La función retorna un objeto del tipo TParametrosDeServicio, que es una estructura con una serie de campos definidos de la siguiente manera:
TStringDynArray Nombres
TStringDynArray Tipos
TStringDynArray Valores
int CodResultado
string MensajeResultado
Donde:
-Nombres: array con los nombres de los parámetros necesarios para utilizar el servicio.
-Tipos: array con los tipos de datos de los parámetros solicitados por el servicio.
-Valores: array con los valores de default de los correspondientes parámetros.
-CodResultado: número que representa el resultado del servicio. 0 en caso de éxito. Cualquier valor distinto de cero en caso de error.
-MensajeResultado: en caso de error, contiene un mensaje descriptivo del código de error.
TResultadoEjemploServicioObtenerEjemploResultadoServicio (string servicio)
El parámetro de entrada es de tipo string, se llama servicio, y contiene el nombre del servicio al cual se quiere consultar por un ejemplo de resultado.
La función retorna un objeto del tipo TResultadoEjemploServicio, que es una estructura con una serie de campos definidos de la siguiente manera:
int CodResultado
string MensajeResultado
byte[] Resultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
Donde:
-CodResultado: número que representa el resultado del servicio. 0 en caso de éxito. Cualquier valor distinto de cero en caso de error.
-MensajeResultado: en caso de error, contiene un mensaje descriptivo del código de error.
-Resultado1: array de bytes donde se devuelve el resultado del servicio. Este array puede ser un archivo xml, una imagen, un archivo binario, etc.
-Resultado(2 a 5): son array de bytes con resultados adicionales.
TResultadoEcho Echo (stringtexto)
Aquí el parámetro de entrada de tipo string se llama texto.
Devuelve el resultado de la llamada al servidor de autenticación en formato TResultadoEcho. Este tipo de dato esta compuesto de los siguientes atributos:
Int CodResultado (es 0 si no hubo error, sino aparece en su lugar el código del error).
String MensajeResultado (es el texto del mensaje de error devuelto si hubiese error).
String Resultado (es el texto enviado al servidor como parámetro de entrada).
La URL del Servicio es http://200.69.219.197:9101/scripts/wsworkflow.exe/wsdl/IWSWorkflow.
A continuación se detallan las distintas funciones que incluye.
TareaAEjecutar IniciarProceso (string Ticket, int TareaInicial)
Donde Ticket (o IDSesión en la versión más reciente) es lo que retorna la función LoginPecas del servicio de Autenticación y TareaInicio es ID de la instancia de tarea.
Devuelve un objeto TareaAEjecutar, el cual es una estructura que deriva de CBaseRespuestay con una serie de campos definidos de la siguiente manera:
Int AnchoPantalla: Uso en pantallas dinámicas.
Int AltoPantalla: Uso en pantallas dinámicas.
Int RojoFondoPantalla: Uso en pantallas dinámicas.
Int VerdeFondoPantalla: Uso en pantallas dinámicas.
Int AzulFondoPantalla: Uso en pantallas dinámicas.
string Caption: Uso en pantallas dinámicas.
string CondicionPrevia: condición necesaria para iniciar la tarea.
CEncabezamiento Encabezamiento.
ModoInicio ModoDeIniciar: Pantalla automática, pantalla dinámica o programa de
terceros.
ArrayOfElementoTexto PrevPrmProc: parámetros de proceso previos visibles para la
tarea.
ArrayOfElementoTexto PrevPrmTask: parámetros de tarea previos visibles para la tarea.
String ProgramaEjecutable: programa o dirección de página web a iniciarse.
ArrayOfCampoDinamico CamposDinamicos: Uso en pantallas dinámicas.
ArrayOfCampoPantalla TaskParams: Lista de parámetros de tarea a ingresar.
ArrayOfCampoPantalla ProcessParams: Lista de parámetros de proceso a ingresar.
ArrayOfElementoEstructura ElementosEstructura: De uso interno de Thinknet.
El tipo CEncabezamiento también es una estructura y se muestra su composición a continuación en el inciso d.
El tipo ModoInicio es un string y podría tener alguno de los siguientes valores: PantallaAutomatica, PantallaDinamica o ProgramaTerceros.
CRespuestaListados ListadoProceso (string Ticket)
Donde Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación
El resultado es un objeto del tipo CRespuestaListados, que es una estructura conteniendo una serie de campos y vectores definidos de la siguiente manera:
Es un tipo heredado del tipo CBaseRespuesta.
Donde CBaseRespuesta es la clase base de las respuestas del WF. Provee información sobre posibles errores en la ejecución del pedido.
Campos:
Boolean HayError: retorna verdadero cuando se produjo algún error al ejecutar el pedido.
String MensajeError: descripción del error.
Para completar CRespuestaListados se agregan los siguientes campos:
ListaTareas MesaEntradas
ListaTareas BandejaEntradas
ListaTareas EnEjecucion
ListaTareas TareasFuturas
ListaTareas TareasAReasignar
ListaProcesos Procesos
Ahora ListaTareas es una estructura formada por el siguiente campo:
ArrayOfLineaTareas Listado
Donde ArrayOfLineaTareas es un array de LineaTareas. El tipo estructurado LineaTareas está compuesto de los siguientes campos:
int Instancia (Instancia de la tarea)
string Tarea (Nombre de la tarea)
string Proceso (Nombre del proceso)
string Descripcion (Descripción de la instancia de la tarea)
string Tercero (Tercero asociado a la tarea, ejecutor o ejecutor anterior)
int Prioridad (prioridad de la tarea)
int Comentarios (Cantidad de comentarios asociados a la tarea)
dateTime Creacion (Fecha de creación de la instancia de tarea)
CRespuestaListados ListadoTareas (string Ticket)
Donde Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación
El resultado es un objeto del tipo CRespuestaListados, que es una estructura conteniendo una serie de campos y vectores definidos de la siguiente manera:
Es un tipo heredado del tipo CBaseRespuesta
Donde CBaseRespuesta es la clase base de las respuestas del WF. Provee información sobre posibles errores en la ejecución del pedido. Esta clase se describió en ListadoProceso.
CRetornoWF AceptarTarea (string Ticket, int Instancia)
Donde el primer parámetro es de tipo string,Ticket, es lo que retorna la función Login del servicio de Autenticación. El segundo parámetro de entrada es de tipo int, Instancia, y contiene el id de la instancia de la tarea referida.
El resultado es un objeto del tipo CRetornoWF, que es una estructura conteniendo una serie de campos y vectores definidos de la siguiente manera:
Es un tipo heredado del tipo CBaseRespuesta.
Donde CBaseRespuesta es la clase base de las respuestas del WF. Provee información sobre posibles errores en la ejecución del pedido. Esta clase se describió en detalle en ListadoProceso. A este tipo estructurado heredado se le agrega un campo mas de tipo array de CEncabezamiento denominado Encabezamiento, el cual provee la información general de cualquier comando. La estructura del tipo CEncabezamiento se muestra a continuación:
Int ActionClass: código del comando a ejecutar (ver tabla 1).
Int SubAction: código de uso interno.
Int ActionKey: código según tabla 2.
Int UserCode: usuario ejecutante.
String SessionCode: texto que retorna inalterado (para uso interno).
Int TaskClass: código de definición de la tarea.
Int TaskSample: instancia de la tarea involucrada.
Int ProcessSample: Instancia del proceso involucrado.
Int ProcessClass: código de definición del proceso.
Int SampleVersion: Versión de la definición del proceso.
CRespuestaListados ListadoTareasFuturas (string Ticket)
Donde Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación
El resultado es un objeto del tipo CRespuestaListados, que es una estructura conteniendo una serie de campos y vectores definidos de la siguiente manera:
Es un tipo heredado del tipoCBaseRespuesta
Donde CBaseRespuesta es la clase base de las respuestas del WF. Provee información sobre posibles errores en la ejecución del pedido. Esta clase se describió en detalle en el inciso b).
CRetornoWF CompletoPantallaAutomatica (string Ticket, CRespuestaAut Pantalla)
Donde el primer parámetro de entrada es de tipo string, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación.
El segundo parámetro es del tipo CRespuestaAut, Pantalla, que hereda a la clase CBaseRespuesta (la cual se explicó más arriba), es la clase asociada a la ejecución de tareas usando pantallas automáticas. Los campos agregados a este tipo son:
Int CodigoRetorno: código de retorno de la rutina. Si es 0 significa ok.
CEncabezamiento Encabezamiento: datos generales del pedido.
ArrayOfParamRespAut ParametrosTarea: Lista de los parámetros de tarea
asociados.
ArrayOfParamRespAut ParametrosProceso: Lista de los parámetros de proceso
asociados.
A su vez el tipo ArrayOfParamRespAut es un array de objetos del tipo ParamRespAut, el cual contiene información general sobre los parámetros y está compuesto de los siguientes campos:
int Codigo : código del parámetro en la base Pecas.
int Clase : tipo de variable asociada al parámetro según tabla 3.
String Valor: contenido del parámetro.
El resultado es un objeto del tipo CRetornoWF, que es una estructura conteniendo una serie de campos y vectores definidos en el inciso d).
TareaAEjecutar DispararTarea(string Ticket, int Instancia)
Donde el primer parámetro de entrada es de tipo string, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación.
El segundo parámetro es del tipo int, Instancia, contiene el ID de la instancia de la tarea
El resultado es un objeto del tipo TareaAEjecutar, heredado de CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso a).
CRetornaDownload DownloadArchivo (string Ticket, string Alias, string Tabla, string Campo,string Archivo, string Referencia)
Donde todos los parámetros de entrada son de tipo string, el primero, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. Los parámetros de entrada Alias, Tabla, Campo, Archivo son los que identifican al documento. El último parámetro, Referencia, es el texto que retorna inalterado en la respuesta y se usa para asociar las respuestas a los pedidos
El resultado es un objeto del tipo CRetornaDownload, heredado de CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d). Para completar este objeto de tipo CRetornaDownload, se agregaron los siguientes campos:
String Referencia (ayuda a asociar la respuesta al pedido)
String NombreArchivo (Nombre del archivo)
Byte[] Bytes (Contenido del archivo)
CRetornaListaDinamica EjecutarQueryLista(string Ticket, string Campo, string Alias, string Query, dateTime FechaPedido)
Donde los tres primeros parámetros de entrada son de tipo string, el primero, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. El parámetro de entrada Campo, es el campo asociado a la lista que se refresca.
El resultado es un objeto del tipo CRetornaListaDinamica, heredado de CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d). Para completar este objeto de tipo CRetornaListaDinamica, se agregaron los siguientes campos:
String Campo
String FechaHora (momento en que realizo la consulta)
ArrayOfElementoLista Lista (Datos obtenidos mediante el query)
Y aquí ArrayOfElementoLista es un array de objetos del tipo ElementoLista. ElementoLista está compuesto de los siguientes campos o atributos:
String Codigo
String Descripcion
CRetornaBooleano EnviarCorreo(string Ticket, string ListaDirecciones, string Asunto, string Texto)
Donde todos los parámetros de entrada son de tipo string, el primero, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. El parámetro de entrada ListaDirecciones, contiene las direcciones de email a las cuales el correo será enviado. El tercer parámetro de entrada, Asunto, es el asunto asociado a este email. Y por último Texto contiene el mensaje que dentro del email.
El resultado es un objeto del tipo CRetornaBooleano, heredado de CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d). Para completar este objeto de tipo CRetornaBooleano, se agregó el siguiente campo:
Boolean ProcesoOK (contendrá el valor True o False dependiendo si el proceso funcionó
correctamente).
CRetornaEntero ObtenerProximoCodigoArchivo(string Ticket)
Donde el parámetro de entrada es de tipo string, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación.
El resultado es un objeto del tipo CRetornaEntero, heredado de CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d). Para completar este objeto de tipo CRetornaEntero, se agregó el siguiente campo:
int ValorEntero (número del código del próximo archivo a registrar)
CBaseRespuesta ReasignarTarea(string Ticket, int InstanciaTarea, int AsignarUsuario)
Donde el primer parámetro de entrada es de tipo string, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. El segundo parámetro es de tipo int, InstanciaTarea, e identifica el número de la instancia.
El resultado es un objeto del tipo CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d).
CBaseRespuesta RetrotraerTarea(string Ticket, int InstanciaTarea, boolean ReEjecutarAnterior)
Donde el primer parámetro de entrada es de tipo string, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. El segundo parámetro es de tipo int, InstanciaTarea, e identifica el número de la instancia. Y el último parámetro de entrada es de tipo boolean, ReEjecutarAnterior, o sea si se reejecuta o no la tarea anterior.
El resultado es un objeto del tipo CBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d).
CRetornaUpload UploadArchivo (string Ticket, string Alias, string Tabla, string Campo, string Archivo, string Referencia, byte[] DatosArchivo)
Donde todos los parámetros de entrada son de tipo string, el primero, Ticket (o IDSesión en la versión más reciente) es lo que retorna la función Login del servicio de Autenticación. Los parámetros de entrada Alias, Tabla, Campo, Archivo son los que identifican al documento. El anteúltimo parámetro, Referencia, es el texto que retorna inalterado en la respuesta y se usa para asociar las respuestas a los pedidos. El último parámetro es un array de bytes, DatosArchivo, el cual almacena el contenido del archivo.
El resultado es un objeto del tipo CRetornaUpload, heredado deCBaseRespuesta, que es una estructura conteniendo una serie de campos y vectores definidos previamente en el inciso d). Para completar este objeto de tipo CRetornaUpload, se agregaron los siguientes campos:
Int Codigo (código asignado al archivo)
String Referencia (la referencia que se envió en el pedido)
WF_ACTION_USER_ENABLE=1; verifica que el usuario pueda ejecutar la tarea WF_ACTION_FILL_ROL_LIST=2; lista los roles que puede asumir un usuario
WF_ACTION_TASK_ENABLE=5; crea entradas en TasksPending WF_ACTION_WRITE_AGRTM=4; inserta un compromiso
WF_ACTION_TASK_COMPLETED=6; instancia de tarea cumplida WF_ACTION_PROCESS_CREATE=7; crea una instancia de un proceso
WF_ACTION_LIST_TASKS=8; llena una lista con las tareas a ejecutar WF_ACTION_ACCEPT_TASK=9; acepta una instancia de tarea (de mesa a bandeja)
WF_ACTION_LEAVE_TASK=10; aborta la tarea WF_ACTION_USER_ENTRY=11; el usuario entra al WF
WF_ACTION_USER_LIST=12; lista de usuarios WF_ACTION_NEXT_TASKS=14; listado de las tareas próximas a las propias
WF_ACTION_BEGIN_DIALOG=16; inicia un dialogo WF_ACTION_ACCEPT_DIALOG=18; se envía la respuesta de un dialogo al WFS
WF_ACTION_PROCESS_LIST=19; lista de procesos que puede iniciar el usuario WF_ACTION_TASK_ASSIGN=20; asigna tareas pendientes
WF_ACTION_TASK_RUN=21; corre una instancia de tarea (desde bandeja) WF_ACTION_LIST_MODIFIED=22; se modifico lista de tareas (actualizar)
WF_ACTION_TRY_PENDING=24; el usuario trata de iniciar una tarea pendiente WF_ACTION_LIST_ALL=25; lista de procesos, tareas y tareas próximas
WF_ACTION_LEAVE_CLIENT=27; el cliente (de la tarea) aborta la ejecución WF_ACTION_LIST_AGRTM=28; Lista los compromisos de una tarea
WF_ACTION_LOAD_AGRTM=29; edita un compromiso WF_ACTION_TASK_DIALOG=30; muestra un dialogo
WF_ACTION_PREV_PARAMS=31; muestra la historia de parámetros previa a una tarea WF_ACTION_TASK_RETURN=32; retorna la tarea que estaba en la bandeja de entrada
WF_ACTION_FORCE_TASK=33; pone en la bandeja de entrada WF_ACTION_TASK_ASSIGN_DINAM=40; define y asigna tareas dinamicas
WF_ACTION_ASK_COMMAND=41; pide un comando de la cola de default WF_ACTION_UNDO_TASK=42; retrotraer tarea y dejarla en el usuario anterior
WF_ACTION_RETURN_TO_TASK=44; después de correr en 4×4 retornar a una tarea WF_ACTION_PARAM_MOD=45; indicar que se desea modificar parámetros
WF_ACTION_CLOSE_THREAD=80; cierra un hilo dinámico WF_ACTION_PREOPEN_THREAD=81; manda el listado de posibles tareas
WF_ACTION_OPEN_THREAD=82; inicia la ejecución de un subproceso dinámico WF_ACTION_NEW_DYN_TASK=84; muestra la pantalla de completar y reiniciar
WF_ACTION_ADD_DYN_TASK=85; completa una tarea dinámica e inicia otra WF_ACTION_ASK_PARAM_MOD=86; lista de parámetros a modificar
WF_ACTION_MOD_PARAMETER=88; modifica un parámetro WF_ACTION_SEND_MAIL=89; envía un email (desde el WFClient)
WF_ACTION_TASK_STATE=90; pregunta como esta la tarea WF_ACTION_ROLLBACK_TASK=91; retrotraer una tarea
WF_ACTION_LIST_NEXT_TASKS=92; listar las tareas próximas WF_ACTION_INFORM_COMPLETED=93; la tarea se informa
WF_ACTION_UPDATE_DESC=94; actualizar descripciones de tareas (1 vez) WF_ACTION_SET_USER=95; Envía el usuario como parámetro ExternUser
WF_ACTION_PRINT_WORD=96; Imprimir archivos Word WF_ACTION_QUERY_UPDATE=97; pide actualizar listas
WF_ACTION_ROL_LIST=98; lista los roles de un proceso WF_ACTION_WORK_LIST=99; lista de puestos de trabajo
WF_ACTION_GET_CLIENTNAME=100; trae nombre y código externo del cliente WF_ACTION_START_PROCESS=101; desde un programa de tercero
WF_ACTION_FIX_PARAMS=102; desde un programa de tercero WF_ACTION_TIMER=104; el WFS pide el proceso de timer
WF_ACTION_GET_AUTOINC=106; obtiene Autoincrement y registra WF_ACTION_GET_MULT_KEY=108; obtiene multiple key
WF_ACTION_FILL_CFG=109; llena la ventana con FillCfgScreen WF_ACTION_QUERY=110; para correr un query
WF_ACTION_WRITE_CFG=111; para insertar un registro WF_ACTION_DELETE_CFG=112; para borrar un registro
WF_ACTION_MEN_CFG=114; para pedir el menú WF_ACTION_ALL_PEND=115; crea todas las tareas pendientes
WF_ACTION_ALL_ARROWS=116; crea flechas para las tareas truncas WF_ACTION_INIT_PROCESS=118; inicia un proceso dando por ejecutada la primera tarea
WF_ACTION_SEG_PROC=119; arma los datos para el seguimiento WF_ACTION_DELETE_PROC=120; borra una instancia de proceso
WF_ACTION_TIMER_EVENT=121; dispara la rutina para verificar si hay eventos de tiempo WF_ACTION_USER_DEP=122; trae una lista de usuarios dependientes del usuario
WF_ACTION_NEXT_FILE=123; retorna el código del próximo archivo. WF_ACTION_QUERY_TABLE=124; ejecuta un query sobre una tabla del WF.
WF_ACTION_INIT_THREAD=125; inicia un hilo de ejecución paralelo. WF_ACTION_BLOCK_PROCESS=128; bloquea la ejecucion de un proceso (instancia).
WF_ACTION_UNBLOCK_PROCESS=129; desbloquea el proceso. WF_ACTION_COMPLETED_NO_LIST=140; Completa la tarea pero no refresca las listas.
DIBUJA_TAREA_SALIDA=3; Es una tarea de cierre del proceso. DIBUJA_TAREA_COMUN=1; Tarea regular.
DIBUJA_TAREA_PANTALLA=27; Es una tarea asociada a una pantalla automática. DIBUJA_TAREA_COLABORATIVA=4; Tarea colaborativa (documentación).
DIBUJA_TAREA_ENTRADA=6; Tarea de inicio de un proceso. DIBUJA_TAREA_INVOCA_PROCESO=8; Invoca a otro proceso y sigue ejecutando.
DIBUJA_TAREA_DISPARA_PROCESO=9; Dispara otro proceso y queda a la espera. DIBUJA_TAREA_AUTOMATICA=10; nicamente ejecuta una rutina.
DIBUJA_TAREA_WF_LIBRE=12; Ejecuta una tarea de WF libre. DIBUJA_TAREA_DISPARA_PROGRAMA=25; Dispara un programa de terceros.
WF_TYPE_INTEGER = 1; entero.
WF_TYPE_FLOAT = 2; real.
WF_TYPE_DATE = 3; fecha.
WF_TYPE_BOOLEAN = 5; booleano.
WF_TYPE_STRING = 6; texto.
Para definir un web service que pueda ser consumido directamente por el sistema de integrabilidad es necesario que respecte cierta estructura interna:
El web service debe tener el nombre IFuenteAutenticaExterna. El método para solicitar el servicio debe tener el nombre Solicitar_Servicio_FAytenerlossiguientesparámetros de entrada
TResultadoServicioFA Solicitar_Servicio_FA(string Servicio, string DatoAuditoria, byte[] Cuerpo)
En el caso de implementar más de un servicio, el parámetro Servicioidentificacuálsequiere utilizar.
El parámetro DatoAuditoriaeslalistadeparámetrosnecesarios para hacer la consulta. Con el formato nombre=valor. Si es necesario pasar más de un parámetros, se deben separar con punto y coma.
Por ejemplo, para pasar dos parámetros
dni=11222333;legajo=abc123
El parámetro Cuerpopuedeserutilizadoparaenviarinformación adicional (un texto en formato XML, un archivo, una imagen, un certificado, etc) que pueda ser necesario para resolver el servicio.
El resultado del método es una estructura llamada TResultadoServicioFA, que contiene los siguientes campos:
int CodResultado
byte[] Resultado1
byte[] Resultado2
byte[] Resultado3
byte[] Resultado4
byte[] Resultado5
byte[] FirmaResultado1
byte[] FirmaResultado2
byte[] FirmaResultado3
byte[] FirmaResultado4
byte[] FirmaResultado5
String MensajeResultado
-CodResultado: un cero indica que el servicio se resolvió correctamente. Otro número indica algún tipo de error. Este número depende únicamente del implementador del servicio.
-MensajeResultado: en caso de error se puede adjuntar un mensaje explicando el código de resultado.
-Resultado1, Resultado2…Resultado5, son arrays de bytes donde se devuelven hasta 5 resultados diferentes. Cada array puede contener un archivo, imagen, certificado, documento, texto en formato XML, etc., transformado a una secuencia de bytes. Si el resultado es el resultado de una consulta a una base de datos, se recomienda transformar el resultado a XML y cargar el texto correspondiente en el campo Resultado.
Si se utiliza .Net, se puede consultar la siguiente documentación para guardar el resultado de un Dataset a XML: http://msdn.microsoft.com/es-es/library/sa57x5f2(v=vs.80).aspx
Para que el resultado sea compatible con el sistema E-Fotocopias debe ser un texto XML bajo el formato RowsetSchema de Microsoft. Ver ejemplo más abajo. Puede encontrar una guía para saber cómo armar un documento XML con este formato en este enlace: http://msdn.microsoft.com/en-us/library/windows/desktop/ms676547(v=vs.85).aspx
Para ver la definición de un web service de ejemplo, se puede consultar la siguiente URL http://integradesa.neuquen.gov.ar:8080/scripts/faexternav2.exe/wsdl/IFuenteAutenticaExterna
-FirmaResultado1, FirmaResultado2,…,FirmaResultado5: son arrays de bytes que contiene las firmas correspondientes a cada resultado.
- Ejemplo de archivo XML con formato RowsetSchema
<xml xmlns:s="uuid:..." xmlns:dt="." xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"> <s:Schema id="RowsetSchema"> <s:ElementType name="row" content="eltOnly" rs:updatable="true"> <s:AttributeType name="attribute1"> <s:datatype dt:type="int" dt:maxLength="4" rs:precision="0" rs:fixedlength="true" rs:maybenull="false"/> </s:AttributeType> <s:AttributeType name="attribute2" rs:number="2" rs:nullable="true" rs:write="true"> <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295" rs:precision="0" rs:long="true" rs:maybenull="false"/> </s:AttributeType> ... </s:ElementType> </s:Schema> <rs:data> <z:row attribute1="1" attribute2="425/Tve"/> <z:row attribute1="2" attribute2="543/Tve"/> <z:row attribute1="3" attribute2="653/Tve"/> <z:row attribute1="4" attribute2="3/Tve"/> </rs:data> </xml>
Con el fin de facilitar el desarrollo de los sistemas clientes, se proveé de librerías en C# para que el programador/desarrollador de un Sistema Cliente pueda solicitar los Servicios provistos por el modelo de Integrabilidad con el solo uso de 5 funciones.
Estas funciones encapsulan la operación de los Web Services de Integrabilidad simplificando su utilización. Esta librería opera con los siguientes componentes del modelo de integrabildiad, que son:
- Componente de Autenticación: Permite autenticar a un usuario sobre un servidor de directorio LDAP.
- Componente menú de autorizaciones: Permite obtener las autorizaciones de un usuario sobre el modelo MABAC, esta lista de opciones autorizadas se presentan como un menú para un usuario.
- Componente de Firma Digital: Permite firmar los envíos y desencriptar los mensajes recibidos, estas funcionalidades están totalmene encapsuladas y resultan transparentes al programador solo se debe.
/
En este módulo se implementa la clase Integrabilidad, que es una interfaz para las funciones contenidas en la librería DllInteg.dll.
public class DatosUsuario { public int Codigo; public string Descripcion; public string CodigoExterno; } public class ItemMenuDeUsuario { public int Codigo; public string Descripcion; public int CodigoPadre; public string CodigoExterno; public int NivelAutorizacion; public string Programa; public string Comentario; } public class MenuUsuario { public bool resultado; public List<ItemMenuDeUsuario> Items; } public class Integrabilidad { public string Login( string username, string password); public MenuUsuario RecuperarMenuUsuario ( string IDSesionPecas); publicDatosUsuario RecuperarDatosDeUsuario ( string IdSesionPecas); publicbool SolicitarServicio ( string IDSesionPecas, string Cliente, string Proveedor, string Servicio, string Involucrado, string CertificadoFirma, string PassPhrase, out string archivoresultado ); }
Contiene funciones para invocar a los web services de Autenticacion y Autorización. Permiten hacer el login en integrabilidad, recuperar la lista de servicios disponibles y solicitar un servicio. Al solicitar el servicio se puede firmar y encriptar el pedido y al llegar el resultado, desencriptarlo y verificar la firma de la FA.
function SolicitarServicioFA( IDSesionPecas: pchar; Cliente : pchar; Proveedor : pchar; Servicio : pchar; Involucrado : pchar; Operador : pchar; Cuerpo: TByteDynArray; Certificado : pchar; PassPhrase : pchar; FirmarCuerpo : boolean; EncriptarCuerpo : boolean; URL : pchar; archivoresultado : pchar; ) : boolean; stdcall; function LoginPecas( usuario, password, url, IDSesionPecas : pchar ) : boolean; stdcall; function ObtenerInvolucrado( idSesion, url, Involucrado : pchar ) : boolean; stdcall; function RecuperarMenuDeUsuario( idSesion, url, CodigoMenuRaiz, Codigo, Descripcion, CodigoPadre, CodigoExterno, NivelAutorizacion, Programa, Comentario: pchar; var Cantidad : integer ) : boolean; stdcall; function RecuperarDatos_DeUsuario( IdSesionPecas : pchar; URLAutorizador: pchar; var Codigo: integer; Descripcion : pchar; CodigoExterno : pchar ): boolean; stdcall;
En el Servidor Coordinador se encuentra la base de datos PecasLog donde se registran todas las actividades de intercambio de información que se producen. Estos registros son utilizados para las actividades de auditoría por cualquiera de los actores.
Se describen a continuación las tablas y códigos utilizados:
Tabla: AuditoriaFA Registra los servicios que un sistemas cliente solicita de una fuente auténtica. Registra si el servicio está autorizado, cual es el involucrado y si el servicio se ejecutó correctamente.
Cliente | Es el código del cliente que solicita el servicio |
---|---|
Proveedor | Es el código de la FA que brinda el servicio |
Servicio | Es el código del servicio que se quiere consumir |
ResultadoProveedor | código de resultado de la ejecución del servicio, 0=exitoso, -1=alguna excepción, 1, 2, 3, …: distintos códigos de error. |
MensajeResultado | En caso de error, es una descripción del error, relacionado al campo ResultadoProveedor |
ResultadoCliente | Código de resultado que puede informar el cliente. 0=exitoso, cualquier otro número para error. |
PedidoValido | + Y: esto indica que el pedido es válido, es decir, que existe el cliente, existe la FA, existe el servicio en la FA y el cliente está autorizado a utilizarlo. + N: esto indica que el pedido no se puede realizar, porque no se cumple alguna razón de las anteriores |
Fecha | Registra la fecha y hora de resolución del servicio. |
NumPedido | Es el identificador único de la transacción |
DatoAuditoria | Es el involucrado en el servicio, es decir de quién se solicita información. Por ejemplo dni=11.222.333 o legajo=9999 |
Cuerpo | Datos adicionales necesarios para resolver el servicio. Puede ser un archivo de texto, un archivo binario, etc. |
TipoResultado | 1: si hay error, significa que lo informó el coordinador 2: si hay error, significa que lo informó la FA |
Operador | Si el sistema cliente tiene otra forma de validación de usuarios, puede informar quien es el operador del sistema que solicita el servicio. |
Tabla: Resultados que contiene la descripción de los posibles resultados de error al solicitar un servicio. Describe el contenido del campo ResultadoProveedor de la tabla AuditoriaFA.
En la base PecasLog también se encuentran tablas cuyo objetivo es registrar parámetros de tiempo para poder desarrollar las actividades de control y monitoreo del modelo en operación.
Tabla: AuditoriaFATiempos: para registrar el tiempo de ejecución de cada servicio del coordinador.
Mensaje | Es el código del ws que se ejecuta (ver tabla AuditoriaFAMensajes) |
---|---|
Inicio | Es el instante donde recibe el pedido desde el Cliente. Si el que informa es una FA, es el instante en que recibe el pedido del Coordinador |
Fin | Es el instante en que recibe la respuesta de la FA. Si el que informa es una FA, es el instante en que completa el servicio. |
NumPedido | Si el mensaje = 6, corresponde a una solicitud de servicio, se guarda el número de pedido de la tabla AuditoriaFA. Si el mensaje <> 6, el NumPedido será 0 |
Tabla: AuditoriaFATiempos
Tabla: AuditoriaFAMensajes: contiene los códigos de mensajes y sus descripciones
Mensaje | Códigos de mensajes soportados en integrabilidad |
---|---|
Descripción | Descripción del mensaje |
AuditoriaFAMensajes
La URL del Servicio es http://autoriza.neuquen.gov.ar:8080/scripts/autorizacion.exe/wsdl/IAutorizacion. A continuación se detallan las distintas funciones que incluye.
El cliente