简体   繁体   中英

EWS C#, Autodiscover URL fails to set on Office365 account

I have successfully managed to run an EWS service on a non Office 365 account, however, using an internal office 365

public ExchangeService connectToExchange()
{
    var ews = new ExchangeService(ExchangeVersion.Exchange2010_SP1) 
    {Credentials = new WebCredentials(authenticate.ExchangeUsername, 
     authenticate.ExchangePassword) };
}
try
    {
      ews.AutodiscoverUrl(authenticate.ExchangeURL);
    }

The URL does not get set and when i hardcode a URL, where can we get this from in Office365? When I hardcode the following url: https://mail.domain.com/EWS/Exchange.asmx ");

I get the error that proxy needs to be authenticated, how can one achieve this?

Thanks:

I have managed to get this so far but still get authentication required error, how do i authenticate here?

             public ExchangeService connectToExchange()
    {

        var ews = new ExchangeService(ExchangeVersion.Exchange2010_SP1) {Credentials = new WebCredentials(authenticate.ExchangeUsername, authenticate.ExchangePassword) };

        try
        {

            WebProxy myproxy = new WebProxy("proxyurl", port);
            myproxy.BypassProxyOnLocal = false;

            myproxy.Credentials = new NetworkCredential("user","pass");
            ews.WebProxy = myproxy;



            ews.Url = new Uri("exchangeurl");


        }
        catch
        {

        }

        return ews;
    }

Almost there... proxy is correct now, the error is now:

"The request failed. The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."

You must create a certificate validation callback method for your application. See explanation here .

    using System.Security.Cryptography.X509Certificates;
    using System.Net.Security;

    // Validate the server certificate.
    ServicePointManager.ServerCertificateValidationCallback =
    delegate(object sender,
             X509Certificate certificate,
             X509Chain chain,
             SslPolicyErrors sslPolicyErrors)
    { return true; };

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM