La operación Iniciar sesión (Login): está englobada en el Servicio Session Web Service que da soporte a la gestión de las sesiones. Esta operación se emplea con el objetivo validar el usuario en el sistema e inicializar los módulos de sesión de ese usuario.
Este servicio es controlado por el componente COSSessionMM (módulo de Gestión de Sesiones del COSCore) y hace uso del UIM (módulo de Información de Usuarios) al igual que el web service privado Query User.
El método acepta de entrada una estructura con los valores nuevo nombre de usuario y password, estos valores son obligatorios y además no nulos. Solicita la validación del usuario al sistema, el cual comprueba que existe en la base de datos y que su password es correcto.
Si es válido inicia los módulos asociados a la sesión de ese usuario.
Devuelve como respuesta una estructura con una variable que indica si el usuario y su password está validado, otra con una cadena de texto con su identificador en la BD y un mensaje correspondiente a la operación realizada.
login(structure params);
Parámetros de Entrada |
params |
structure con los parámetros de entrada y el orden a seguir:
string |
userName |
Nombre de usuario a consultar en el sistema. Parámetro obligatorio no nulo. |
string |
userPassword |
Password para ese usuario, se encriptará y se comprueba con el de la BD. Parámetro obligatorio no nulo. |
|
Valores de Salida |
result |
structure con los valores de salida:
boolean |
validation |
true si tiene éxito en la consulta en la BD y la validación del password, false si no. |
string |
userID |
Texto con el identificador de usuario en la BD en , devuelve la cadena -1 si no encuentra o autentifica al usuario. |
string |
message |
Mensaje de éxito o de error y su tipo. |
|
Ejemplo Petición XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.cos.acg.ual.es/">
<soapenv:Header/>
<soapenv:Body>
<ws:login>
<params>
<userName> "ejemplo nombre" </userName>
<userPassword> "ejemplo password" </userPassword>
</params>
</ws:login>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo Respuesta XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:loginResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<validation> "ejemplo true o false" </validation>
<userID> "ejemplo ID o -1" </userID>
<message> "ejemplo mensaje de exito o de error" </message>
</result>
</ns2:loginResponse>
</soap:Body>
</soap:Envelope>
Mensajes de Error |
Internal Server Error
|
Se producen por fallos en el servidor al aplicar algoritmos de encriptación o al buscar alguna clase necesaria para la ejecución.
|
Not found o Empty username Error
|
Se produce cuando se omite este parámetro en la llamada al servicio o no se proporciona un valor.
|
Not found o Empty userpassword Error
|
Se produce cuando se omite este parámetro en la llamada al servicio o no se proporciona un valor.
|
Validation Error user o password incorrect
|
Se produce cuando el usuario no existe en la BD o el password es incorrecto.
|
Error Modules previously initialized
|
Se produce cuando se realiza un login habiendo realizado un login anteriormente y por tanto encontrándose ya los módulos inicializados. Este error no devuelve error de validación ya que ésta sigue siendo correcta, solamente informa que ya se inicializo el sistema.
|
PSQLException
|
Se producen por problemas en la conexión a la base de datos.
|
Example Error Response XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:loginResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<validation> true </validation>
<userID> 113 </userID>
<message> > Error Modules previously initialized </message>
</result>
</ns2:loginResponse>
</soap:Body>
</soap:Envelope>
>