Basicamente el mensaje de error es 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.
Pase todo un dia buscando informacion y no encontraba nada, pero luego tanto un amigo mio encontro la forma de lograrlo.
Pero antes de dar la solucion voy a tratar de explicar un poco que es lo que pasa.
Simplemente el error se debe a que por tratarse de un HTTPS, al tratar de acceder a algun contenido entonces me pide un certificado y como no tengo entonces me bota ese error.
Entonces por alli atacaremos el problema:
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
Si esto es probado en test funciona de maravillas, pero cuando queremos consumir ese webservices nos da un error como el mostrado anteriormente.
Bueno sin mas vueltas que dar, agreguemos esta linea
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);
CredentialCache cache = new CredentialCache();
Espero que esto soluciona sus problemas.
Saludos