Sharepoint List Adapters: The HTTP request is unauthorized with client authentication scheme ‘Ntlm’. The authentication header received from the server was ‘NTLM’.

En este caso estuve trabajando con el componente de CodePlex, SharePoint List Source and Destination (http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652), que se integra con SSIS para gestionar los datos en las listas de sharepoint dentro de paquetes de ETL. En la consola de desarrollo de SSIS de forma repentina los paquetes que utilizan el Connection Manager de SharePoint generaron una advertencia:


Error: System.ServiceModel.Security.MessageSecurityException:
The HTTP request is unauthorized with client authentication scheme ‘Ntlm’.
The authentication header received from the server was ‘NTLM’.
—> System.Net.WebException: The remote server returned an error: (401) Unauthorized.


Al revisar algunos enlaces de referencia del error y el mensaje mismo, se identifico que la cuenta de usuario utilizada para conexión a Sharepoint, que utiliza por defecto el Connection Manager de Sharepoint de SSIS, estaba almacenada de forma errónea en el componente de administración de credenciales del sistema operativo. Se ejecutó el comando desde una ventana “Ejecutar… (run…):


rundll32.exe keymgr.dll,KRShowKeyMgr


Y se editó la credencial almacenada en el sitio de SharePoint. Se modificó tanto el nombre de usuario como la contraseña. Finalmente se cerró y abrió sesión nuevamente en el sistema operativo y SSIS con su paquete volvió a funcionar correctamente.


Referencias:

  • http://sqlstuff.weebly.com/ssis.html
  • http://support.microsoft.com/kb/555631/en-us