Session Web Service > Init user architecture
Ir a probar servicio
La operación Iniciar Arquitectura de Usuario (Init user architecture): 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 de obtener la lista de componentes del usuario.
Este servicio es controlado por el componente COSSessionMM (módulo de Gestión de Sesiones del COSCore) y hace uso de dos módulos del core; el UIM (módulo de Información de Usuarios) para obtener con el id de usuario
su camid (identificador del modelo de arquitectura concreta), del DMM (módulo de Visualización de Componentes) para obtener el propio modelo del usuario y del módulo IMM (módulo de Gestión de la interacción) para
registrar en la base de datos de interacción de inicio de sesión.
El método acepta de entrada una estructura con el Id del usuario que tiene la sesión iniciada, este valor es obligatorio y además no nulo, también se manda información de interacción que solo puede ser proporcionada
por el usuario. La operación obtiene el identificador del modelo de arquitectura concreta , obtiene el modelo concreto y devuelve como respuesta una estructura con una variable que indica si el inicio ha tenido éxito o no,
la lista de componentes y un mensaje correspondiente a la operación realizada.
initUserArchitecture(structure params);
Parámetros de Entrada |
params |
structure con los parámetros de entrada y el orden a seguir:
string |
userId |
Id de usuario con una sesión iniciada en el sistema. Parámetro obligatorio no nulo. |
structure |
interaction |
structure con los datos de interacción que puede proporcionar el usuario.
string |
deviceType |
Tipo de dispositivo desde el que se está accediendo (Browser,Phone,Tablet,TV). Parámetro obligatorio. |
string |
interactionType |
Tipo de interacción de entrada (MouseKeyboard, Voice, Gestural, Touch). Parámetro obligatorio. |
string |
latitude |
Latitud, información geográfica que pueda proporcionar el dispositivo. Parámetro obligatorio. |
string |
longitude |
Longitud, información geográfica que pueda proporcionar el dispositivo. Parámetro obligatorio. |
|
|
Valores de Salida |
result |
structure con los valores de salida:
boolean |
init |
true si tiene éxito la obtención de la lista de componentes para ese usuario, false si no. |
list structure |
componentData |
Lista de componentes del modelo concreto para ese usuario.
string |
platform |
Plataforma a la que está sirviendo: web, java, ... |
string |
componentname |
Nombre del componente. |
string |
componentAlias |
Alias de la instancia componente. |
string |
instanceId |
Instancia del componente. |
string |
codeHTML |
Código html que incluye el iframe. |
string |
objectJava |
Objeto serializado. |
string |
jarJava |
Nombre del archivo jar que contiene el objeto java. |
string |
idHtml |
Identificador del elemento html en el DOM. |
int |
posx |
Posición del componente que indica en que columna está. |
int |
posy |
Posición del componente que indica en que fila está. |
int |
tamanox |
Tamaño que ocupa a lo ancho. |
int |
tamanoy |
Tamaño que ocupa a lo alto. |
boolean |
servicio_maximizable |
Determina si el componente puede verse a pantalla completa. |
boolean |
servicio_agrupable |
Determina si ese componente puede agrupar servicios. |
int |
numero_servicios |
número de servicios en este componente. |
list structure |
servicios |
Lista de servicios en este componente.
string |
componentname |
Nombre del componente. Si el servicio es el servicio base coincide con el componentData.componentname |
string |
componentAlias |
Alias de la instancia componente. Si el servicio es el servicio base coincide con el componentData.componentAlias |
string |
instanceId |
Instancia del componente. Si el servicio es el servicio base coincide con el componentData.InstanceId |
string |
mapaKML |
Mapa del servicio OGC cargado. |
string |
capa |
Capa del servicio OGC cargado. |
|
|
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:initUserArchitecture>
<params>
<userId> "ejemplo de Id" </userID>
<interaction>
<deviceType> "ejemplo de dispositivo o vacio" </deviceType>
<interactionType> "ejemplo de tipo de interacción o vacio" </interactionType>
<latitude> "ejemplo de latitud o vacio" </latitude>
<longitude> "ejemplo de longitud o vacio" </longitude>
</interaction>
</params>
</ws:initUserArchitecture>
</soapenv:Body>
</soapenv:Envelope>
Ejemplo Respuesta XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:initUserArchitectureResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<init> "ejemplo true o false" </init>
<componentData> "<platform></platform><componentname> ... <capa></capa></servicios>" </componentData>
...
<componentData> "<platform></platform><componentname> ... <capa></capa></servicios>" </componentData>
<message> "ejemplo mensaje de exito o de error" </message>
</result>
</ns2:initUserArchitectureResponse>
</soap:Body>
</soap:Envelope>
Mensajes de Error |
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 Interaction Information Error
|
Se produce cuando se omite este parámetro en la llamada al servicio.
|
PSQLException
|
Se producen por problemas en la conexión a la base de datos.
|
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.
|
Internal Server Error
|
Se producen por fallos en el servidor al buscar alguna clase necesaria para la ejecución.
|
Example Error Response XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:initUserArchitectureResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
<result>
<init> false </init>
<message> > org.postgresql.util.PSQLException: ERROR: no existe la relación «coscoreuser» Position: 19 </message>
</result>
</ns2:initUserArchitectureResponse>
</soap:Body>
</soap:Envelope>
>