EWS Exchange Web服务API AutodiscoverUrl异常

时间:2013-09-23 08:30:51

标签: c# .net web-services outlook exchangewebservices

我尝试创建约会时收到错误:

  

预期的XML节点类型是XmlDeclaration,但实际类型是   元件。

当我致电AutodiscoverUrl时会发生此异常 我创建了一个Web服务来执行此操作。

[webMethod]
CreateAppointment()
{
    var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1)
    {
        Credentials = new WebCredentials("myAcount@gmail.com", "mypassowrd")
    };

    service.AutodiscoverUrl("myAcount@gmail.com");

    //----------------------------------------------------------------------
    var app = new Appointment(service)
    {
        Subject = "Meet George",
        Body = "You need to meet George",
        Location = "1st Floor Boardroom",
        Start = DateTime.Now.AddHours(2),
        End = DateTime.Now.AddHours(3),
        IsReminderSet = true,
        ReminderMinutesBeforeStart = 15
    };
    app.RequiredAttendees.Add(new Attendee("any@gmail.com"));
    app.Save(SendInvitationsMode.SendToAllAndSaveCopy);
}

2 个答案:

答案 0 :(得分:0)

一些可能的答案。

  1. 传入错误的网址或域名。
  2. 传入错误的电子邮件地址。
  3. 重建Windows配置文件有时可以提供帮助。 (警告:请IT管理员执行此操作)。它可能有点矫枉过正。
  4. 用户可以设置旧的,坏的或多个Outlook配置文件。 outlook配置文件中的电子邮件服务器名称可能不正确。 (请参阅控制面板>邮件)

答案 1 :(得分:0)

自动发现取决于两件事:

  1. 从用户邮件域指向Exchange服务器上的自动发现数据的DNS条目。通常,您将拥有一个名为autodiscover.domain.com的DNS条目,但是有不止一种方法可以为不同版本的Exchange设置此条目。如果不存在正确的DNS条目,则自动发现将失败。

  2. Exchange服务器上托管的自动发现数据(我相信它是一个XML文件)并通过HTTP访问。如果无法访问(可能它位于防火墙后面),则自动发现将失败。

  3. 检查相应的DNS条目,客户端可以访问自动发现信息。