none
Error al crear un objeto UserProfileManager RRS feed

  • Pregunta

  • Hola a todos.

    Estoy intentando crear un componente para el que necesito obtener información del servicio de perfiles. Para acceder a este servicio, creo un objeto de tipo UserProfileManager del siguiente modo:

     
    private static UserProfileManager ObtenerManejadorPerfiles(SPSite sitio)
            {
                    SPServiceContext serviceContext = SPServiceContext.GetContext(sitio);
                    UserProfileManager mgr = new UserProfileManager(serviceContext);
                    return mgr;         
            }

    Esto funciona sin problemas cuando el código lo ejecuta el usuario que tiene permisos de control total en administración central para el servicio de perfiles de usuario. Sin embargo, con mi usuario personal (que es administrador de la granja, aunque no tiene permisos explícitos para el servicio), el código anterior provoca una excepción (Reference not set to an instance of an object). Lo que me escama es que con este último usuario, sí que puedo ver los perfiles de los usuarios a través de la aplicación de Administración Central (pulsando sobre el link de la aplicación de perfiles de usuario > Gestionar propiedades de usuario).

    He probado a lanzar el código anterior usando SPSecurity.RunWithElevatedPrivileges, pero sigo obteniendo el mismo error. ¿Cómo evito este problema?

    Muchas gracias y un saludo

    miércoles, 4 de julio de 2012 8:20

Respuestas

  • Hola.

    Finalmente, como me urgía solucionar este tema, en lugar de usar el modelo de objetos, me fui por el lado de los servicios web. El servicio web en [dirección del sitio]/_vti_bin/userprofileservice.asmx tiene el método GetUserProfileByName que me ha servido para rodear el problema.

    Saludos

    viernes, 13 de julio de 2012 6:54