Servicios para aplicaciones del Departamento de Educación

Última modificación por Victor Lucian Timoftii el 2021/02/23 14:32


SERVICIO DE USUARIOS

Objetivos

Proporcionar acceso a los datos de usuario a otras aplicaciones internas del Departamento de Educación.

URL WSDL: https://educages.navarra.es/Educa/services/usr/USRWS?wsdl

Bloqueos de acceso por orden judicial

En determinadas ocasiones, y por orden judicial, se bloquea el acceso de padres, madres o tutores a los datos de sus hijos e hijas.
Para poder comprobar esto, se define el método "getUsuariosBloqueados" al que se le pasa como parámetro el nombre del usuario del que queremos comprobar si puede acceder a datos de otros usuarios.
Devuelve un listado de usuarios y sede a las que no puede acceder.

Parámetros de entrada

getUsuariosBloqueados(String usuario)

Datos de salida

List<DataSingleDTO>

Donde:
id es el id de la sede
valor es el nombre del usuario al que no puede acceder

Parámetros de entrada

      <usr:getUsuariosBloqueados>
        <usuario>userName</usuario>
     </usr:getUsuariosBloqueados>

Ejemplo de uso
<ns2:getDatosPersonalesResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
 <return>
  <id>456</id>
  <valor>userName2</valor>
 </return>
</ns2:getDatosPersonalesResponse>

Datos personales

A partir de un número de documento (DNI, Pasaporte...)

Devuelve los datos personales de un usuario a partir de un tipo de documento y su número.

Los tipos de documento válidos son:

  •     1.- DNI
  •     2.- Pasaporte
  •     3.- NIE
  •     6.- DNI sin letra

Parámetros de entrada

getDatosPersonales(int iDocumentoTipo, String txDocumentoNumero)

Datos de salida

GNRDatosPersonalesDTO

Definición SOAP

      <usr:getDatosPersonales>
        <iDocumentoTipo>1</iDocumentoTipo>
        <txDocumentoNumero>1234567A</txDocumentoNumero>
     </usr:getDatosPersonales>

Ejemplo de uso

      <ns2:getDatosPersonalesResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <apellido1>Martínez</apellido1>
           <apellido2>Etxeberria</apellido2>
           <datosContacto>
              <id>5</id>
              <valor>657670001</valor>
           </datosContacto>
           <datosContacto>
              <id>7</id>
              <valor>sucorreo@proveedor.com</valor>
           </datosContacto>
           <datosContacto>
              <id>8</id>
              <valor>otrocorreo@educacion.navarra.es</valor>
           </datosContacto>
           <documentoNumero>1234567A</documentoNumero>
           <documentoTipo>1</documentoTipo>
           <fechaNacimiento>1972-02-21T00:00:00+01:00</fechaNacimiento>
           <idLocalizador>5836</idLocalizador>
           <nombre>Mariano</nombre>
           <sexo>H</sexo>
           <ubicacionDomicilio>
              <calleEs>Calle Rue del Percebe</calleEs>
              <calleEu>Rue del Percebe Kalea</calleEu>
              <codigoINE>312010002</codigoINE>
              <codigoPostal>31026</codigoPostal>
              <idCalle>2604</idCalle>
              <idLocalidad>747</idLocalidad>
              <idPais>724</idPais>
              <idProvincia>31</idProvincia>
              <localidadEs>Pamplona</localidadEs>
              <localidadEu>Iruña</localidadEu>
              <portal>27</portal>
              <puerta>4ºA</puerta>
           </ubicacionDomicilio>
           <usuario>mmartin32</usuario>
        </return>
     </ns2:getDatosPersonalesResponse>

A partir del identificador único de persona

Devuelve los datos personales de un usuario

Parámetros de entrada

getDatosPersonales(int iDocumentoTipo, String txDocumentoNumero)

Datos de salida

GNRDatosPersonalesDTO

Definición SOAP

      <usr:getDatosPersonalesPorLocalizador>
        <idLocalizador>1234</idLocalizador>
     </usr:getDatosPersonalesPorLocalizador>

Ejemplo de uso

      <ns2:getDatosPersonalesResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <apellido1>Martínez</apellido1>
           <apellido2>Etxeberria</apellido2>
           <datosContacto>
              <id>5</id>
              <valor>657670001</valor>
           </datosContacto>
           <datosContacto>
              <id>7</id>
              <valor>sucorreo@proveedor.com</valor>
           </datosContacto>
           <datosContacto>
              <id>8</id>
              <valor>otrocorreo@educacion.navarra.es</valor>
           </datosContacto>
           <documentoNumero>1234567A</documentoNumero>
           <documentoTipo>1</documentoTipo>
           <fechaNacimiento>1972-02-21T00:00:00+01:00</fechaNacimiento>
           <idLocalizador>1234</idLocalizador>
           <nombre>Mariano</nombre>
           <sexo>H</sexo>
           <ubicacionDomicilio>
              <calleEs>Calle Rue del Percebe</calleEs>
              <calleEu>Rue del Percebe Kalea</calleEu>
              <codigoINE>312010002</codigoINE>
              <codigoPostal>31026</codigoPostal>
              <idCalle>2604</idCalle>
              <idLocalidad>747</idLocalidad>
              <idPais>724</idPais>
              <idProvincia>31</idProvincia>
              <localidadEs>Pamplona</localidadEs>
              <localidadEu>Iruña</localidadEu>
              <portal>27</portal>
              <puerta>4ºA</puerta>
           </ubicacionDomicilio>
           <usuario>mmartin32</usuario>
        </return>
     </ns2:getDatosPersonalesResponse>

Datos profesionales

Devuelve los datos profesionales
La entrada es por número de documento, no tiene sentido para menores que no tienen documento de identidad.

Parámetros de entrada

getDatosProfesionales(int iDocumentoTipo, String txDocumentoNumero)

Datos de salida

USRDatosProfesionalesDTO

Definición SOAP

      <usr:getDatosProfesionales>
        <iDocumentoTipo>1</iDocumentoTipo>
        <txDocumentoNumero>12345678A</txDocumentoNumero>
        <idioma>es</idioma>
     </usr:getDatosProfesionales>

Ejemplo de uso

     <ns2:getDatosProfesionalesResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <especialidad>
              <id>590011</id>
              <idSede>1254</idSede>
              <nombre>Inglés</nombre>
              <idioma>1</idioma>
           </especialidad>
           <etapa>
              <id>623</id>
              <valor>Educación Básica (U.C.E.)</valor>
           </etapa>
           <etapa>
              <id>4</id>
              <valor>Educación Secundaria Obligatoria</valor>
           </etapa>
           <idLocalizador>1234</idLocalizador>
           <perfil>101</perfil>
           <puesto>
              <id>25</id>
              <idSede>1254</idSede>
              <nombre>Coordinador EOIDNA</nombre>
           </puesto>
           <sede>
              <id>1254</id>
              <valor>Pedro de Ursua</valor>
           </sede>
        </return>
     </ns2:getDatosProfesionalesResponse>

Contexto del usuario

Para los profesores: Devuelve los datos asociados a los puestos de trabajo en las distintas sedes
Alumnos: Datos a sociados a las matrículas en las distintas sedes.
Otos datos de otros puestos de trabajo.

Parámetros de entrada

getContextoUsuario(String usuario, String idioma)
usuario es el nombre de usuario de educa (nombreUsuarioUnico)

Datos de salida

USRContextoUsuarioDTO

Definición SOAP
     <usr:getContextoUsuario>
        <usuario>pmartine238</usuario>
        <idioma>es</idioma>
     </usr:getContextoUsuario>

Ejemplo de uso
Un profesor normal
     <ns2:getContextoUsuarioResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <cargo>
              <id>25</id>
              <idSede>1254</idSede>
              <nombre>Coordinador EOIDNA</nombre>
           </cargo>
           <idLocalizador>1234</idLocalizador>
           <profesor>
              <id>1</id>
              <idSede>1254</idSede>
              <nombre>Profesor/a</nombre>
           </profesor>
        </return>
     </ns2:getContextoUsuarioResponse>

Un director que además es jefe de estudios
     <ns2:getContextoUsuarioResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <cargo>
              <id>3</id>
              <idSede>483</idSede>
              <nombre>Jefe de Estudios</nombre>
           </cargo>
           <cargo>
              <id>1</id>
              <idSede>483</idSede>
              <nombre>Director</nombre>
           </cargo>
           <idLocalizador>1234</idLocalizador>
           <profesor>
              <id>1</id>
              <idSede>483</idSede>
              <nombre>Profesor/a</nombre>
           </profesor>
        </return>
     </ns2:getContextoUsuarioResponse>

Un alumno con varias matrículas
    <ns2:getContextoUsuarioResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <idLocalizador>1234</idLocalizador>
           <matricula>
              <curso>4º ESO</curso>
              <fechaInicio>2013-09-02T00:00:00+02:00</fechaInicio>
              <grupo>4M</grupo>
              <idCurso>23</idCurso>
              <idGrupo>55192</idGrupo>
              <idModalidad>167</idModalidad>
              <idModeloLinguistico>4</idModeloLinguistico>
              <idSede>1254</idSede>
              <modalidad>Única 4ESO</modalidad>
              <modeloLinguistico>D</modeloLinguistico>
           </matricula>
           <matricula>
              <curso>Nivel Intermedio</curso>
              <fechaInicio>2013-09-02T00:00:00+02:00</fechaInicio>
              <idCurso>12182</idCurso>
              <idGrupo>0</idGrupo>
              <idModalidad>870</idModalidad>
              <idModeloLinguistico>1242</idModeloLinguistico>
              <idSede>467</idSede>
              <modalidad>Inglés</modalidad>
              <modeloLinguistico>Cas.</modeloLinguistico>
           </matricula>
           <matricula>
              <curso>2º Nivel avanzado</curso>
              <fechaInicio>2013-09-02T00:00:00+02:00</fechaInicio>
              <idCurso>12216</idCurso>
              <idGrupo>0</idGrupo>
              <idModalidad>872</idModalidad>
              <idModeloLinguistico>1242</idModeloLinguistico>
              <idSede>467</idSede>
              <modalidad>Euskera</modalidad>
              <modeloLinguistico>Cas.</modeloLinguistico>
           </matricula>
        </return>
     </ns2:getContextoUsuarioResponse>

Contexto del usuario para la mensajería interna

Extiende los datos mostrados por el método 'getContextoUsuario' para su uso delsde el cliente de mensajería 'RoundCube'.
Proporciona el DTO 'USRContextoUsuarioMSGDTO' que añade los campos al USRContextoUsuarioDTO:
 protected boolean puedeCambiarCE;  True si puede cambiar el curso escolar en la generación de las libretas
 protected int idCursoEscolar; 
Curso escolar actual
 protected List<String> libretas;  Nombres de las libretas que puede cambiar

Parámetros de entrada

getContextoUsuarioMSG(String usuario, String idioma)
usuario es el nombre de usuario de educa (nombreUsuarioUnico)

Datos de salida

USRContextoUsuarioMSGDTO

Definición SOAP
     <usr:getContextoUsuarioMSG>
        <usuario>pmartine238</usuario>
        <idioma>es</idioma>
     </usr:getContextoUsuario>

Ejemplo de uso
Un profesor normal
     <ns2:getContextoUsuarioMSGResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <cargo>
              <id>25</id>
              <idSede>1254</idSede>
              <nombre>Coordinador EOIDNA</nombre>
           </cargo>
           <idLocalizador>1234</idLocalizador>
           <profesor>
              <id>1</id>
              <idSede>1254</idSede>
              <nombre>Profesor/a</nombre>
           </profesor>
           <idCursoEscolar>129</idCursoEscolar>
           <libretas>libretaAlumnado</libretas>
           <libretas>libretaCargosOrientacion</libretas>
           <libretas>libretaPAS</libretas>
           <libretas>libretaProfesorado</libretas>
           <libretas>libretaRepresentantesLegales</libretas>
           <libretas>libreta.sede.para-pas.1</libretas>
           <libretas>libreta.sede.para-pas.1</libretas>
           <libretas>libreta.sede.equipodirectivo.para-todos.1254</libretas>
           <puedeCambiarCE>false</puedeCambiarCE>
        </return>
     </ns2:getContextoUsuarioMSGResponse>

Usuarios bloqueados

Devuelve un listado con aquellos usuarios a cuyos datos el usuario pasado como argumento no uede acceder.
Puede haber sido bloqueado el acceso por orden judicial.
El id devuelto es el id de la sede a la que afecta el bloqueo.
El valor es el nombre de usuario a cuyos datos no se puede acceder.

Parámetros de entrada

getUsuariosBloqueados(String usuarioQueQuiereAcceder)
usuarioQueQuiereAccederes el nombre de usuario de educa (nombreUsuarioUnico)

Datos de salida

DataSingleDTO

Definición SOAP
     <usr:getUsuariosBloqueados>
        <usuario>nombreUsuario</usuario>
     </usr:getUsuariosBloqueados>

Ejemplo de uso
<ns2:getUsuariosBloqueadosResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>26</id>
           <valor>otroNombreUsuario</valor>
        </return>
</ns2:getUsuariosBloqueadosResponse>

Listados de datos auxiliares

Tipos de puesto en la sede. Cargos. (CTRPuestoTipo)

Parámetros de entrada

getCTRPuestoTipos(boolean activo,String idioma)

Datos de salida

List<DataSingleDTO>

Definición SOAP
     <usr:getCTRPuestoTipos>
        <activo>true</activo>
        <idioma>eu</idioma>
     </usr:getCTRPuestoTipos>

Ejemplo de uso
   <ns2:getCTRPuestoTiposResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>26</id>
           <valor>Otro</valor>
        </return>
        <return>
           <id>27</id>
           <valor>General</valor>
        </return>
        <return>
           <id>28</id>
           <valor>Orientación</valor>
        </return>
        <return>
           <id>29</id>
           <valor>PAS - Administrativo</valor>
        </return>
        <return>
           <id>30</id>
           <valor>Jefe/Encargado de Calidad</valor>
        </return>
        <return>
           <id>31</id>
           <valor>APYMA</valor>
        </return>
        <return>
           <id>1</id>
           <valor>Director</valor>
        </return>
        <return>
           <id>2</id>
           <valor>Director Adjunto</valor>
        </return>
        <return>
           <id>3</id>
           <valor>Jefe de Estudios</valor>
        </return>
        <return>
           <id>4</id>
           <valor>Jefe de Estudios de Euskera</valor>
        </return>
        <return>
           <id>5</id>
           <valor>Jefe de Estudios Adjunto</valor>
        </return>
        <return>
           <id>6</id>
           <valor>Secretario</valor>
        </return>
        <return>
           <id>7</id>
           <valor>Administrador</valor>
        </return>
        <return>
           <id>8</id>
           <valor>Vicedirector</valor>
        </return>
        <return>
           <id>9</id>
           <valor>Coordinador de ciclo</valor>
        </return>
        <return>
           <id>10</id>
           <valor>Jefe de Departamento</valor>
        </return>
        <return>
           <id>11</id>
           <valor>Jefe de Departamento de Familia Profesional</valor>
        </return>
        <return>
           <id>12</id>
           <valor>Jefe de Estudios Nocturno</valor>
        </return>
        <return>
           <id>13</id>
           <valor>Jefe de Departamento de Actividades Profesionales Externas</valor>
        </return>
        <return>
           <id>14</id>
           <valor>Coordinador de ciclos formativos</valor>
        </return>
        <return>
           <id>15</id>
           <valor>Responsable Módulo Formación Centro de Trabajo</valor>
        </return>
        <return>
           <id>21</id>
           <valor>Coordinador de la Unidad de Apoyo Educativo</valor>
        </return>
        <return>
           <id>16</id>
           <valor>Encargado de comedor</valor>
        </return>
        <return>
           <id>17</id>
           <valor>Responsable de Nuevas Tecnologías</valor>
        </return>
        <return>
           <id>18</id>
           <valor>Encargado de actividades artístico-culturales</valor>
        </return>
        <return>
           <id>19</id>
           <valor>Encargado de actividades específicas</valor>
        </return>
        <return>
           <id>20</id>
           <valor>Coordinador de actividades deportivas</valor>
        </return>
        <return>
           <id>22</id>
           <valor>Coordinador de Biblioteca</valor>
        </return>
        <return>
           <id>23</id>
           <valor>Gestor Educa</valor>
        </return>
        <return>
           <id>24</id>
           <valor>Secretario adjunto</valor>
        </return>
        <return>
           <id>25</id>
           <valor>Coordinador EOIDNA</valor>
        </return>
        <return>
           <id>32</id>
           <valor>Coordinador EDUCA</valor>
        </return>
     </ns2:getCTRPuestoTiposResponse>

Tipos de puesto de trabajo. (PRSPuestoSubTipo)

Parámetros de entrada

getPRSPuestoSubTipos(boolean activo,String idioma)

Datos de salida

List<DataSingleDTO>

Definición SOAP
     <usr:getPRSPuestoSubtipos>
        <activo>true</activo>
        <idioma>es</idioma>
     </usr:getPRSPuestoSubtipos>

Ejemplo de uso
     
<ns2:getPRSPuestoSubtiposResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>1</id>
           <valor>Profesor/a</valor>
        </return>
        <return>
           <id>2</id>
           <valor>Orientador/a</valor>
        </return>
        <return>
           <id>104</id>
           <valor>Subalterno/a</valor>
        </return>
        <return>
           <id>105</id>
           <valor>Servicios Generales</valor>
        </return>
        <return>
           <id>106</id>
           <valor>Mantenimiento</valor>
        </return>
        <return>
           <id>107</id>
           <valor>Limpiador/a</valor>
        </return>
        <return>
           <id>108</id>
           <valor>Jardinero/a</valor>
        </return>
        <return>
           <id>101</id>
           <valor>Oficial de Administración</valor>
        </return>
        <return>
           <id>102</id>
           <valor>Auxiliar Administración</valor>
        </return>
        <return>
           <id>103</id>
           <valor>Conserje</valor>
        </return>
        <return>
           <id>111</id>
           <valor>Cuidador/a</valor>
        </return>
        <return>
           <id>201</id>
           <valor>Comisión de Escolarización</valor>
        </return>
        <return>
           <id>202</id>
           <valor>Administrador</valor>
        </return>
        <return>
           <id>203</id>
           <valor>Inspector</valor>
        </return>
        <return>
           <id>204</id>
           <valor>Inspector Administrador</valor>
        </return>
        <return>
           <id>205</id>
           <valor>Gestor Evaluación Diagnóstica</valor>
        </return>
        <return>
           <id>206</id>
           <valor>Administrador sólo lectura</valor>
        </return>
        <return>
           <id>207</id>
           <valor>Censo 1</valor>
        </return>
        <return>
           <id>208</id>
           <valor>Censo 2</valor>
        </return>
        <return>
           <id>209</id>
           <valor>Gestor Libros de texto</valor>
        </return>
        <return>
           <id>210</id>
           <valor>Gestor FCT</valor>
        </return>
        <return>
           <id>211</id>
           <valor>Director Servicio</valor>
        </return>
        <return>
           <id>212</id>
           <valor>Auxiliar de inspección</valor>
        </return>
        <return>
           <id>213</id>
           <valor>Gestor Salud</valor>
        </return>
        <return>
           <id>214</id>
           <valor>Gestor Títulos</valor>
        </return>
        <return>
           <id>215</id>
           <valor>Estadísticas</valor>
        </return>
        <return>
           <id>216</id>
           <valor>Gestor PNTE</valor>
        </return>
        <return>
           <id>217</id>
           <valor>Incidencias GDP</valor>
        </return>
        <return>
           <id>218</id>
           <valor>Gestor validaciones</valor>
        </return>
     </ns2:getPRSPuestoSubtiposResponse>

Cuerpos

Devuelve el listado de cuerpos a los que pueden pertenecer los profesores con su código

Parámetros de entrada

getCuerpos(String idioma)

Datos de salida

List<DataSingleDTO>

Definición SOAP
     
     <usr:getCuerpos>
        <!--Optional:-->
        <idioma>es</idioma>
     </usr:getCuerpos>

Ejemplo de uso
    <ns2:getCuerposResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>595</id>
           <valor>Profesores de Artes Plásticas y Diseño</valor>
        </return>
        <return>
           <id>594</id>
           <valor>Profesores de Música y Artes Escénicas</valor>
        </return>
        <return>
           <id>597</id>
           <valor>Maestros</valor>
        </return>
        <return>
           <id>511</id>
           <valor>Inspectores de Educación</valor>
        </return>
        <return>
           <id>596</id>
           <valor>Maestros de Taller de Artes Plásticas y Diseño</valor>
        </return>
        <return>
           <id>599</id>
           <valor>NA-Profesores de Iniciación Musical</valor>
        </return>
        <return>
           <id>598</id>
           <valor>NA-Profesores de Religión</valor>
        </return>
        <return>
           <id>590</id>
           <valor>Profesores de Enseñanza Secundaria</valor>
        </return>
        <return>
           <id>526</id>
           <valor>Profesores Especialidades de  I.T.E.M.</valor>
        </return>
        <return>
           <id>591</id>
           <valor>Profesores Técnicos de Formación Profesional</valor>
        </return>
        <return>
           <id>592</id>
           <valor>Profesores de Escuelas Oficiales de Idiomas</valor>
        </return>
        <return>
           <id>593</id>
           <valor>Catedráticos de Música y Artes Escénicas</valor>
        </return>
     </ns2:getCuerposResponse>
   

Datos de contacto. tipos

Devuelve el listado de tipos de datos de contacto con su código

Parámetros de entrada

getDatosContactoTipos(String idioma)

Datos de salida

List<DataSingleDTO>

Definición SOAP
     
     <usr:getDatosContactoTipos>
        <!--Optional:-->
        <idioma>es</idioma>
     </usr:getDatosContactoTipos>

Ejemplo de uso
     <ns2:getDatosContactoTiposResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>3</id>
           <valor>Teléfono particular 3</valor>
        </return>
        <return>
           <id>2</id>
           <valor>Teléfono particular 2</valor>
        </return>
        <return>
           <id>1</id>
           <valor>Teléfono particular</valor>
        </return>
        <return>
           <id>7</id>
           <valor>Email</valor>
        </return>
        <return>
           <id>6</id>
           <valor>Móvil 2</valor>
        </return>
        <return>
           <id>5</id>
           <valor>Móvil</valor>
        </return>
        <return>
           <id>4</id>
           <valor>Fax</valor>
        </return>
        <return>
           <id>8</id>
           <valor>Email Google (PNTEApps)</valor>
        </return>
     </ns2:getDatosContactoTiposResponse>

Idiomas

Devuelve el listado de idiomas con su código que se utiliza en las respuestas.
Son idiomas correspondientes a las enseñanzas.
En la llamada a los métodos se utilizan los códigos "es" (Español) y "eu" (Euskera)

Parámetros de entrada

getIdiomas(String idioma)

Datos de salida

List<DataSingleDTO>

Definición SOAP
     
     <usr:getIdiomas>
        <idioma>es</idioma>
     </usr:getIdiomas>

Ejemplo de uso
     <ns2:getIdiomasResponse xmlns:ns2="http://usr.ws.educa.educacion.navarra.es/">
        <return>
           <id>3</id>
           <valor>Inglés</valor>
        </return>
        <return>
           <id>2</id>
           <valor>Euskera</valor>
        </return>
        <return>
           <id>1</id>
           <valor>Castellano</valor>
        </return>
        <return>
           <id>5</id>
           <valor>Aleman</valor>
        </return>
        <return>
           <id>4</id>
           <valor>Francés</valor>
        </return>
     </ns2:getIdiomasResponse>

Descripción de los objetos de transferencia de datos DTO empleados

GNRDatosPersonalesDTO

  int idLocalizador;
  String nombre;
  String apellido1;
  String apellido2;
  String usuario;
 int documentoTipo;
  String documentoNumero;
  Date fechaNacimiento;
  String descripcion;
  String sexo;

USRDatosProfesionalesDTO

  int idLocalizador; // iIdGNRPersona
 int perfil;
  List<DataSingleDTO> sede; // Sedes en las que da clase
 List<CTRDatoSedeIdiomaDTO> especialidad;
  List<CTRDatoSedeDTO> puesto;
  List<DataSingleDTO> etapa;

USRContextoUsuarioDTO

  List<MatriculaContextoDTO> matricula;
  List<CTRDatoSedeDTO> pas;
  List<CTRDatoSedeDTO> profesor;
  List<CTRDatoSedeDTO> cargo;
 int idLocalizador;

USRContextoUsuarioMSGDTO

  List<MatriculaContextoDTO> matricula;
  List<CTRDatoSedeDTO> pas;
  List<CTRDatoSedeDTO> profesor;
  List<CTRDatoSedeDTO> cargo;
 int idLocalizador;
 boolean puedeCambiarCE;
 int idCursoEscolar;
  List<String> libretas;

DataSingleDTO

  int id;
  String valor;

CTRDatoSedeDTO

  int id;
 int idSede;
  String nombre;

CTRDatoSedeIdiomaDTO

  int id;
 int idSede;
  String nombre;
 int idioma;

MatriculaContextoDTO

  int idSede;
 int idCurso;
  String curso;
 int idModeloLinguistico;
  String modeloLinguistico;
 int idModalidad;
  String modalidad;
  Date fechaInicio;
  Date fechaFin;
 int idGrupo;
  String grupo;

EJEMPLOS DE CLIENTES SOAP

PHP

Ciente sin autentificar

<?php
$wsdl = "http://educa.navarra.es/Educa/services/ConsultaCentros?wsdl";

$params = array(
 'sede' => '9',
 'cursoEscolar' => 125,
 'idioma' => 'es'
 );

$client = new SoapClient($wsdl);

$response = $client->detalleCentro($params);

print_r($response);
?>

Ciente autentificado

En este caso necesitgamos pasar una cabecera con los datos de autentificación y el tipo.
Para ello extenderemos la clase SoapHeader

<?php
/**
* Extendemos la clase SoapHeader  para crear una autenticación acorde con Wsse
*/

class WsseAuthHeader extends SoapHeader {

private $wss_ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd';

/**
 * Constructor de la cabecera
 * @param $user Nombre de usuario
 * @param $pass Contraseña del usuario
 * @param $ns Esquema alternativo para la definición de la seguridad. Por defecto (null), contraseña sin encruptar
 */

function __construct($user, $pass, $ns = null) {
if ($ns) {
    $this->wss_ns = $ns;
  }

$auth = new stdClass();
$auth->Username = new SoapVar($user, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns);
//$auth->Password = new SoapVar($pass, XSD_STRING, "PasswordText", $this->wss_ns, NULL, $this->wss_ns);

$p = '<ns2:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">'.htmlspecialchars($pass)."</ns2:Password>";

$auth->Password = new SoapVar($p, XSD_ANYXML);


$username_token = new stdClass();
$username_token->UsernameToken = new SoapVar($auth, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns);

$security_sv = new SoapVar(
    new SoapVar($username_token, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns),
      SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'Security', $this->wss_ns);
parent::__construct($this->wss_ns, 'Security', $security_sv, true);
 }
}
?>

Y el ejemplo de conexión quedaría así
<?php
/* Ejemplo de uso de un cliente autentificado con contraseña plana*/

include "WsseAuthHeader.php";

//Definimos el nombre de usuario, contraseña y wsdl del servicio
$username = 'el_nombre_de_usuario';
$password = 'la_contraseña';
$wsdl = "http://educa.navarra.es/Educa/services/usr/USRWS?wsdl"; //url a la definición del servicio (wsdl)

//Definimos la cabecera
$wsse_header = new WsseAuthHeader($username, $password);
$client = new SoapClient($wsdl, array("trace" => 1, "exception" => 0));
$client->__setSoapHeaders(array($wsse_header));

//Parámetros del método llamado
$params = array(
 'usuario' => 'usuario_buscado',
 'idioma' => 'es'
 );
//Llamada al método
$response = $client->getContextoUsuario($params);

print_r($response);

//Llamada alternativa
$response = $client->__soapCall("getContextoUsuario",$params);

print_r($response);
?>

SERVICIO DE PREVISIÓN DATOS DE ALUMNADO Y NÚMERO DE GRUPOS

En este espacio se incluye la definición de los servicios web necesarios para resolver las necesidades de previsión de datos de alumnado y número de grupos.

FASES

1.- Previsión inicial
2.- Previsión Preinscripción
3.- Previsión Matrícula Junio
4.- Previsión Matrícula Septiembre
5.- Matriculación Actual

Método previsión número de alumnos

Se define el método "previsiónAlumnos" al que se le pasa como parámetro un lista de códigos MEC de centros y el curso escolar. Devuelve un objeto con la previsión del curso escolar.

Parámetros de entrada

previsionAlumnos(List<Integer> codMEC, int cursoAcademico)

Datos de salida

MTRPrevisionCE

Método previsión número de grupos de alumnos

Se define el método "previsiónGrupos" al que se le pasa como parámetro un lista de códigos MEC de centros y el curso escolar. Devuelve un objeto con la previsión del curso escolar.

Parámetros de entrada

previsionGrupos(List<Integer> codMEC, int cursoAcademico)

Datos de salida

MTRPrevisionCE

Más información:

SERVICIO DE ENVÍO DE NOTIFICACIONES

En este espacio se incluye la definición del servicio web necesario para la creación y envío de notificaciones de aplicaciones externas (servicios) a través de la plataforma Educa.

Método de generación de SMS

Se define el método "enviarSMS" al que se le pasa como parámetro un lista de notificaciones a generar. Las notificaciones son objetos que contienen uno o más destinatarios de la notificación, el mensaje que se desea entregar, una referencia externa y el nombre del servicio que solicita la notificación. Devuelve una lista de objetos con la información de cada SMS generado (destinatario, identificador del mensaje en Educa, referencia externa y servicio solicitante).

Parámetros de entrada

enviarSMS(List<GNRMSGMensajeDTO> notificaciones)

Datos de salida

List<GNRMSGMensajeCreadoDTO>

Método de consulta del estado los SMS generados 

Se define el método "consultarEstadoSMS" que consulta el estado de envío y entrega de los SMS generados. Para realizar la consulta hay que indicar el servicio que ha generado las notificaciones y se pueden pasar como parámetros una lista de destinatarios, una lista de referencias externas, una fecha de creación a partir de la cuál se quiere consultar y una fecha de creación máxima hasta la que se quiere consultar. Devuelve una lista de objetos con el detalle, incluyendo la información de envío y entrega, de cada SMS filtrado por los parámetros de entrada.

Parámetros de entrada

consultarEstadoSMS(List<String> destino, List<String> refExternas, Date fechaInicial, Date fechaFinal, String servicio)

Datos de salida

List<GNRMSGNotificacionDetalleDTO>

Método de búsqueda de un SMS generado

Se define el método "buscarSMS" al que se le pasa como parámetro el identificador del SMS generado por Educa y devuelve el detalle del SMS, incluyendo la información de envío y entrega.

Parámetros de entrada

buscarSMS(String idMensaje)

Datos de salida

GNRMSGNotificacionDetalleDTO

Más información

SERVICIO DE CONSULTA DE PROVEEDORES (Censo genérico)

Objetivo

Servicio de consulta que proporciona información de proveedores utilizados por el Gobierno de Navarra. Imita la funcionalidad del servicio equivalente de la Junta de Andalucía para dar soporte a Ecoeduca.

Fuente de los datos

Los datos de obtienen de un servicio al efecto proporcionado por el SAP además de entradas manuales introducidas por el Servicio de Gestión Económica del Departamento de Educación.

Almacena las entradas para poder funcionar aunque el servicio del SAP no esté en línea.

Autentificación

Anónima.

Métodos

obtieneDatosCliente

Devuelve los datos de un proveedor cuyo NIF se pasa como parámetro.

Parámetros de entrada

obtieneDatosCliente(String nombreAplicacion,String nifSolicitante,String nombreSolicitante, String nifAconsultar)

De todos los parámetros pasados, sólo se utiliza nifAconsultar, el resto se mantiene por compatibilidad con el formato de Andalucía.

Datos de salida

DatosCliente

Ejemplo de uso
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cen="http://es/juntadeandalucia/economiayhacienda/serviciosWeb/censoGenerico">
  <soapenv:Header/>
  <soapenv:Body>
     <cen:obtieneDatosCliente>
        <nombreAplicacion></nombreAplicacion>
        <nifSolicitante></nifSolicitante>
        <nombreSolicitante></nombreSolicitante>
        <nifAconsultar>A20002572</nifAconsultar>
     </cen:obtieneDatosCliente>
  </soapenv:Body>
</soapenv:Envelope>

Respuesta
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
     <ns1:obtieneDatosClienteResponse xmlns:ns1="http://es/juntadeandalucia/economiayhacienda/serviciosWeb/censoGenerico">
        <obtieneDatosClienteReturn>
           <item>
              <codigoPostal>20140</codigoPostal>
              <localidad>ANDOAIN</localidad>
              <nifCliente>A20002572</nifCliente>
              <nombreCliente>PAPELERA DEL LEIZARAN SA</nombreCliente>
              <pais>724</pais>
              <provincia>20</provincia>
           </item>
        </obtieneDatosClienteReturn>
     </ns1:obtieneDatosClienteResponse>
  </soap:Body>
</soap:Envelope>

obtieneTodosLosClientes

Devuelve los datos de varios proveedores cuyos NIFs se pasan como parámetro (Lista).

Parámetros de entrada

obtieneDatosCliente(String nombreAplicacion,String nifSolicitante,String nombreSolicitante, List<item> nifs)

De todos los parámetros pasados, sólo se utiliza nifAconsultar, el resto se mantiene por compatibilidad con el formato de Andalucía.

Datos de salida

List<DatosCliente>

Ejemplo de uso

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cen="http://es/juntadeandalucia/economiayhacienda/serviciosWeb/censoGenerico">
  <soapenv:Header/>
  <soapenv:Body>
     <cen:obtieneTodosLosClientes>
        <nombreAplicacion>a</nombreAplicacion>
        <nifSolicitante>b</nifSolicitante>
        <nombreSolicitante>b</nombreSolicitante>
        <nifs>
           <!--Zero or more repetitions:-->
           <item>B61503355</item>
           <item>A01020080</item>
        </nifs>
     </cen:obtieneTodosLosClientes>
  </soapenv:Body>
</soapenv:Envelope>

Respuesta

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
     <ns1:obtieneTodosLosClientesResponse xmlns:ns1="http://es/juntadeandalucia/economiayhacienda/serviciosWeb/censoGenerico">
        <obtieneTodosLosClientesReturn xsi:type="ns3:DatosClienteArray" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://es/juntadeandalucia/economiayhacienda/serviciosWeb/censoGenerico">
           <item>
              <codigoPostal>01010</codigoPostal>
              <localidad>VITORIA</localidad>
              <nifCliente>A01020080</nifCliente>
              <nombreCliente>AUTOBUSES HERMANOS ARRIAGA SA</nombreCliente>
              <pais>724</pais>
              <provincia>01</provincia>
           </item>
           <item>
              <codigoPostal>08174</codigoPostal>
              <fax>935834340</fax>
              <localidad>SANT CUGAT DEL VALLES</localidad>
              <nifCliente>B61503355</nifCliente>
              <nombreCliente>ROCHE DIAGNOSTICS SL</nombreCliente>
              <pais>724</pais>
              <provincia>08</provincia>
              <telefono>935834000</telefono>
           </item>
        </obtieneTodosLosClientesReturn>
     </ns1:obtieneTodosLosClientesResponse>
  </soap:Body>
</soap:Envelope>

Estructura del DTO de respuesta "DatosCliente"

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DatosCliente", propOrder = {
  
"calificadorNumeroVia",
  
"codIneMunicipio",
  
"codigoPostal",
  
"complentoVia",
  
"descMunicipio",
  
"direccionEmail",
  
"escalera",
  
"fax",
  
"letraVia",
  
"localidad",
  
"municipio",
  
"nifCliente",
  
"nombreCliente",
  
"nombreVia",
  
"numeroVia",
  
"pais",
  
"piso",
  
"portal",
  
"provincia",
  
"puerta",
  
"telefono",
  
"tipoNumeracionVia",
  
"tipoVia" })

SERVICIO DE PLAN DE ESTUDIOS

Objetivos

Proporcionar la organización del plan de estudios en Educa.

WSDL e información de tallada de los métodos y DTOs

URL WSDL: https://educages.navarra.es/Educa/services/pe/PEPlanEstudiosWS?wsdl
URL Información detallada: http://educadev.educacion.navarra.es/api/PEPlanEstudios/service_ns0_PEPlanEstudiosWSService.html

Etiquetas:
Creado por Angel Montero el 2021/02/23 14:32
   
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 11.10.11 - Documentation