La operación Crear usuario (createUser): está englobada en el Servicio User Web Service que da soporte a la gestión de usuarios. Esta operación se emplea con el objetivo de crear un nuevo usuario en el sistema.
Este servicio es controlado por el componente UIM (módulo de Información de Usuarios) y hace uso del componente COSSessionMM (módulo de Gestión de Sesiones del COSCore) para poder obtener el modelo concreto de arquitectura del perfil seleccionado, modificarlo y asignarlo a este nuevo usuario.
El método acepta de entrada una estructura con los valores nuevo nombre de usuario, password y perfil, estos valores son obligatorios y además no nulos. Encripta el password e introduce los valores en la BD si el usuario no existe.
Devuelve como respuesta una estructura con una variable que indica si la creación a tenido éxito o no y su mensaje correspondiente.
createUser(structure params, string privatekey);
Parámetros de Entrada |
params |
structure con los parámetros de entrada y el orden a seguir:
string |
userName |
Nombre del nuevo usuario, se requiere que no exista en el sistema. Parámetro obligatorio no nulo. |
string |
userPassword |
Password para ese nuevo usuario, se encriptará y se guardará en la BD. Parámetro obligatorio no nulo. |
string |
userProfile |
Perfil asignado a ese nuevo usuario. Parámetro obligatorio no nulo. |
|
privatekey |
string clave para poder acceder al servicio privado. Parámetro obligatorio no nulo.
|
Valores de Salida |
result |
structure con los valores de salida:
boolean |
created |
true si tiene éxito la inserción en la BD, false si no. |
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:createUser>
<params>
<userName> "ejemplo nombre" </userName>
<userPassword> "ejemplo password" </userPassword>
<userProfile> "ejemplo perfil" </userProfile>
</params>
<privatekey>"ejemplo clave"</privatekey>
</ws:createUser>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo Respuesta XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:createUserResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<created> "ejemplo true o false" </created>
<message> "ejemplo mensaje de exito o de error" </message>
</result>
</ns2:createUserResponse>
</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.
|
Private key Error
|
Se produce por clave privada incorrecta. El servicio es Privado y se necesita una clave para acceder a él.
|
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.
|
Not found o Empty userprofile Error
|
Se produce cuando se omite este parámetro en la llamada al servicio o no se proporciona un valor.
|
Error in Architectural Models BD
|
Se producen por problemas en la consulta a la base de datos de modelos de arquitectura.
|
Error in Wookie
|
Se producen por problemas en la consulta al repositorio Wookie.
|
PSQLException
|
Se producen por problemas en la conexión a la base de datos.
El error más común se produce por intentar registrar un usuario nuevo con un nombre ya existente en la BD, siendo este el mensaje de error:
> org.postgresql.util.PSQLException: ERROR: llave duplicada viola restricción de unicidad «unique_username»
|
Example Error Response XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:createUserResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<created> false </created>
<message> > org.postgresql.util.PSQLException: ERROR: llave duplicada viola restricción de unicidad «unique_username» </message>
</result>
</ns2:createUserResponse>
</soap:Body>
</soap:Envelope>
>