El Error que obteniamos era el siguiente
System.Net.WebException: Se ha terminado la conexión: No se puede establecer una relación de confianza para el canal seguro SSL/TLS. ---> System.Security.Authentication.AuthenticationException: El certificado remoto no es válido según el procedimiento de validación.
Este es el codigo que yo uso para acceder a una lista y sacar sus valores:
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
viewFields.InnerXml = "";
portal.Lists listService = null;
listService = new portal.Lists();
listService.Credentials = new System.Net.NetworkCredential("user", "password", "dominio");
listService.PreAuthenticate = true;
string listGuid = (string)"{AE348D4B-D88C-46B3-A809-B4663C4C7CB0}";
XmlNode itemCollection = listService.GetListItems(listGuid, string.Empty, null, viewFields, "0", null, string.Empty);
return itemCollection;
Para esto portal es un referencia Web al webservice del Sharepoint.
Algo como esto: https://MyServer/_vti_bin/lists.asmx
Bueno sin mas vueltas que dar, agreguemos esta linea
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate); CredentialCache cache = new CredentialCache();
Este codigo se coloca antes de hacer una llamada a webservices.
Ademas debemos agregar es funcion, al agregar debemos agrregar algunos imports.
public static bool ValidateServerCertificate(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
Espero que esto soluciona sus problemas.
Saludos
No hay comentarios:
Publicar un comentario