EWS Connect with SharePoint, Performance
For my experience using EWS with SharePoint I want to share some useful information.
When you connect to Exchange Online with SharePoint a big performance improvement is to write a console application in order to get your Service URL and pass it directly. But to do this SharePoint ask you for a certificate, the workaround is to pass a Dummy X509 CER, code bellow, comment if it help.
// <summary>
/// Gets the binding.
/// </summary>
/// <returns></returns>
public static ExchangeService GetBinding()
{
try
{
//Create Service
ExchangeService service = new
ExchangeService(ExchangeVersion.Exchange2010_SP1);
//Assign Credentials
service.Credentials = new
WebCredentials("admin@contoso.com", "password");
ServicePointManager.ServerCertificateValidationCallback +=
RemoteCertificateValidationHandler;
//Change this line by your EndPoint Url
service.Url = new Uri("https://SERVER.outlook.com/EWS/Exchange.asmx");
return service;
}
catch (AutodiscoverRemoteException ex)
{
Console.WriteLine("Exception thrown: " + ex.Error.Message);
return null;
}
} private static bool RemoteCertificateValidationHandler
(object sender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true; //ignore the checks and go ahead
}
/// Gets the binding.
/// </summary>
/// <returns></returns>
public static ExchangeService GetBinding()
{
try
{
//Create Service
ExchangeService service = new
ExchangeService(ExchangeVersion.Exchange2010_SP1);
//Assign Credentials
service.Credentials = new
WebCredentials("admin@contoso.com", "password");
ServicePointManager.ServerCertificateValidationCallback +=
RemoteCertificateValidationHandler;
//Change this line by your EndPoint Url
service.Url = new Uri("https://SERVER.outlook.com/EWS/Exchange.asmx");
return service;
}
catch (AutodiscoverRemoteException ex)
{
Console.WriteLine("Exception thrown: " + ex.Error.Message);
return null;
}
} private static bool RemoteCertificateValidationHandler
(object sender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true; //ignore the checks and go ahead
}
Categories: Exchange Web Services
EWS SharePoint