Accediendo a servicios de Sharepoint por HTTPs


En un post anterior explico como configurar el HTTPs en los sitios de Sharepoint en este les explico el código de como consumirlo:
https://mteheran.wordpress.com/2014/01/05/configurando-https-en-sharepoint/

Primero debes instanciar estas reglas globales en nuestra clase donde estemos ejecutando cualquier servicio ya sea el List.asmx o el Copy.asmx:


ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;

Luego debemos crear nuestro punto de inicio y fin para el consumir el servicio


BasicHttpBinding binding = new BasicHttpBinding();
binding.MaxBufferSize = 99999999;
binding.MaxReceivedMessageSize = 99999999;
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;
binding.Security.Message.AlgorithmSuite = System.ServiceModel.Security.SecurityAlgorithmSuite.Default;
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;

Luego configuramos el punto final y realizamos la logica que necesitamos esta es igual para el servicio Lists.asmx para este caso muestro el ejemplo de como se usa con el Copy.asmx y realizo la opción de leer un archivo.

EndpointAddress endpoint = new EndpointAddress({Ursharepointl} + "/_vti_bin/Copy.asmx"));
using (CopySoapClient client = new CopySoapClient(binding, endpoint))
{
client.Endpoint.Address = new System.ServiceModel.EndpointAddress({Ursharepointl} + "/_vti_bin/Copy.asmx");
client.Endpoint.Contract.Name = "ws.App.SharePointDocuments.CopySoap";
client.Endpoint.Binding.Name = "basicHttpBinding";
client.Endpoint.Contract.ConfigurationName = "CopySoap";
NetworkCredential cred = new NetworkCredential(strUser, strPassWord);
client.ClientCredentials.Windows.ClientCredential = cred;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

client.Open();
string destinationUrl = {RutaArchivo} + file;
byte[] bitFile;
FieldInformation[] outFields;
uint ret = client.GetItem(destinationUrl, out outFields, out bitFile);
fileinfo.Content = bitFile;
fileinfo.Errors = "";
fileinfo.P8_Url = destinationUrl;
client.Close();

}

Cualquier duda pueden dejarla en los comentarios.

Un comentario sobre “Accediendo a servicios de Sharepoint por HTTPs

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s