Como restablecer el sitio web de IIS “SharePoint Web Services” cuando éste es eliminado por error en SharePoint 2010

Algo que me gusta de trabajar como ingeniero de soporte freelance es el orgullo que te da ganar esas pequeñas batallas contra la ignorancia.

Problema

El problema fue que se extendió una aplicación web de SharePoint usando el sitio web de IIS “SharePoint Web Services”. Antes que cualquier otra cosa, este sitio web de IIS hospeda algunos servicios WCF de sistema los cuales se configuran en todos los WFE de la granja y son utilizados por algunas aplicaciones de servicio, el asistente de configuración de SharePoint es el encargado de aprovisionar este sitio web en tiempo de instalación y configuración de la granja. 

image

Lo que sucedió es que al extenderse esta aplicación web en este caso “MySite” se detuvieron aplicaciones de servicio y quedo totalmente inoperable. El resultado fue desastroso para la granja ya que se detuvieron las aplicaciones de servicio Manage Metadata, User Profile y en este caso el portal de MySite de todo el corporativo. El mensaje de error al intentar acceder al portal fue Could not load user profile, adicional el visor de eventos empezó a regitrar An exception occurred when trying to issue security token: The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.

Como primera reacción de cualquier ser humano es la de des extender el portal.

image

Inyectando con esto un problema mayor ya que al remover vía herramienta de administración SharePoint el sitio web de IIS causa que las carpetas asociadas en el sitio web sean eliminadas de la ruta a la que apunta, en este caso C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14WebServicesRoot.

La solución

La solución a este escenario fue ejecutar el script mencionado en el post How to get back the SharePoint WebServices application in IIS if deleted, SharePoint 2010   para regenerar el sitio web de IIS “SharePoint Web Services”,  este proceso en efecto si aprovisiono de nuevo el sitio web de IIS, sin embargo, al dar clic sobre el marcaba un error indicando que no existía la ruta de los archivos lo cual es totalmente correcto ya que al des extender se elimino todos los archivos de la ruta a donde apuntaba.

image

Lo que se decidió fue buscar la carpeta Root de otra granja y copiarla sobre la carpeta en cuestión. Posteriormente se ejecuto de nuevo el siguiente codigo encontrado aqui: How to get back the SharePoint WebServices application in IIS if deleted, SharePoint 2010. Basicamente lo que el procedimiento hace es cargar una instancia de la place SPIisWebServiceInstanceSettings e invoca un par de metodos para realizar el aprovisionamiento del sitio web de IIS sobre el servidor. Una vez que es aprovisionado se procede a realizar un ciclo donde por cada aplicacion de servicio es aprovionado el nuevo sitio web de IIS restableciendo con esto la vinculacion y la dependencia al mismo.

$webservice = [System.Type]::GetType(“Microsoft.SharePoint.Administration.SPIisWebServiceSettings, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”)

$Instance = $webservice::Default

$Method = $webservice.GetMethod(“ProvisionLocal”, “Instance, NonPublic”, $null, @(), $null)

$Method.Invoke($Instance, $null)

$Method = $webservice.GetMethod(“Provision”, “Instance, Public”, $null, @(), $null)

$Method.Invoke($Instance, $null)

Get-SPServiceApplication | ForEach-Object {$_.Provision()}

En resumen

Cuando inicias con una nueva plataforma  y estas en proceso de aprendizaje es comun o normal que sucedan detalles, errores, situaciones de configuracion por error, la recomendacion es revisar cualquier procedimiento en una granja de pruebas para validar el proceso y los resultados previamente.  Aqui dos enlaces donde platico algunas consideraciones al respecto: Que se necesita para ser consultor y/o desarrollador SharePoint y Consideraciones para poner en marcha soluciones personalizadas SharePoint en ambientes de producción de nuestros clientes.

Saludos

Originalmente publicado en msmvps.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *