Hallo liebe Community,
Ich als C# newb soll in meiner Firma eine kleine Anwendung in C# stricken mithilfe der Exchange Web Services.
Ausgangssituation:
Ich als AEler soll oben genanntes tun.
In der Firma ist nun der alte Exchange 2k3 vom neuen 2010 abgelöst worden. Dementsprechend habe ich keine Einblicke über die Konfiguration des Servers.
Anscheinend scheint auch das Autodiscover nicht richtig zu laufen, weswegen ich Hardcodiert den Server mitgebe.
Mein Problem:
Trotz richtiger Credentials und Zertifikatsvalidierung bekomme ich immer nur den Serverstatus 401 Unauthorized.
Trotz dem durchwälzen der MSDN und vieler Foren und Bloggerseiten, stehe ich immer noch auf dem Schlauch.
Das Programm soll momentan nur auf die Inbox zugreifen, deswegen ist da nicht viel Umfang.
Hier mal der Testcode des Ganzen.
Ich bekomme wie gesagt nur 401 Unauthorized zurück.
Wenn ich die URLs für den Server in den WebBrowser eingebe und dort die Credentials eingebe, komme ich auf eine Kryptische XML-Seite (Was ich mal als erfolgreiches anmelden betrachte). Kann es vielleicht sein, das ich die Zertifikate nicht richtig Validiere? Und wenn ja, wie mache ich das richtig?
Vielen Danke schonmal im vorraus.
Ich als C# newb soll in meiner Firma eine kleine Anwendung in C# stricken mithilfe der Exchange Web Services.
Ausgangssituation:
Ich als AEler soll oben genanntes tun.
In der Firma ist nun der alte Exchange 2k3 vom neuen 2010 abgelöst worden. Dementsprechend habe ich keine Einblicke über die Konfiguration des Servers.
Anscheinend scheint auch das Autodiscover nicht richtig zu laufen, weswegen ich Hardcodiert den Server mitgebe.
Mein Problem:
Trotz richtiger Credentials und Zertifikatsvalidierung bekomme ich immer nur den Serverstatus 401 Unauthorized.
Trotz dem durchwälzen der MSDN und vieler Foren und Bloggerseiten, stehe ich immer noch auf dem Schlauch.
Das Programm soll momentan nur auf die Inbox zugreifen, deswegen ist da nicht viel Umfang.
Hier mal der Testcode des Ganzen.
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;
using Microsoft.Exchange.WebServices.Data;
using Microsoft.Exchange.WebServices.Autodiscover;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
namespace test
{
class Program
{
private static bool CertificateValidationCallBack(
object sender,
System.Security.Cryptography.X509Certificates.X509Certificate certificate,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors
)
{
return true;
}
static void Main(string[] args)
{
string E_Mail = "Test@Test.de";
string user = "benutzer";
string url = "https://domain.vpn";
try
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
System.Net.ServicePointManager.ServerCertificateValidationCallback += CertificateValidationCallBack;
service.TraceEnabled = true;
service.Credentials = new WebCredentials(user, "password",url);
service.Url = new Uri(url + "/EWS/Exchange.asmx");
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
Console.ReadLine();
}
}
}
}
Ich bekomme wie gesagt nur 401 Unauthorized zurück.
Wenn ich die URLs für den Server in den WebBrowser eingebe und dort die Credentials eingebe, komme ich auf eine Kryptische XML-Seite (Was ich mal als erfolgreiches anmelden betrachte). Kann es vielleicht sein, das ich die Zertifikate nicht richtig Validiere? Und wenn ja, wie mache ich das richtig?
Vielen Danke schonmal im vorraus.