La operación Actualizar usuario (updateUser): 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 actualizar la información
de 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 identificador de usuario, nuevo nombre de usuario, nuevo password y nuevo perfil, estos valores son obligatorios y además no nulos. Encripta el password e introduce los valores
en la BD para el usuario al que pertenece el identificador.
Devuelve como respuesta una estructura con una variable que indica si la actualizació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 |
userId |
Identificador del usuario, se requiere que exista en el sistema. Parámetro obligatorio no nulo. |
string |
newUserName |
Nuevo nombre del usuario. Parámetro obligatorio no nulo. |
string |
newUserPassword |
Nuevo Password para el usuario. Parámetro obligatorio no nulo. |
string |
newUserProfile |
Nuevo Perfil para el 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 |
updated |
true si tiene éxito la actualizació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:updateUser>
<params>
<userId> "ejemplo id" </userId>
<newUserName> "ejemplo nombre" </newUserName>
<newUserPassword> "ejemplo password" </newUserPassword>
<newUserProfile> "ejemplo perfil" </newUserProfile>
</params>
<privatekey>"ejemplo clave"</privatekey>
</ws:updateUser>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo Respuesta XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:updateUserResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<updated> "ejemplo true o false" </updated>
<message> "ejemplo mensaje de exito o de error" </message>
</result>
</ns2:updateUserResponse>
</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 userid Error
|
Se produce cuando se omite este parámetro en la llamada al servicio o no se proporciona un valor.
|
Not found o Empty new 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 new 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 new 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:updateteUserResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<updated> false </updated>
<message> > Not found o Empty new userprofile Error </message>
</result>
</ns2:updateteUserResponse>
</soap:Body>
</soap:Envelope>
>