EWS Exchange Web service API AutodiscoverUrl exception

本文关键字:AutodiscoverUrl exception API service Exchange Web EWS | 更新日期: 2023-09-27 18:32:34

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

预期的 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);
}

EWS Exchange Web service API AutodiscoverUrl exception

一些可能的答案。

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

发现取决于两件事:

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

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

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