EWS Exchange Web服务API AutodiscoverUrl异常

11

当我尝试创建预约时,出现了一个错误:

期望的XML节点类型是XmlDeclaration,但实际类型是Element。

当我调用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);
}

1
我在这上面设置了赏金。这对一些用户非常有效,但对其他人则不然。我的电子邮件地址出现了异常。我能够发送到该电子邮件地址。 - Jess
这与电子邮件地址无关。我刚刚用涉及的电子邮件地址运行了这行代码,它可以正常工作:_exchangeService = new ExchangeService(ExchangeVersion.Exchange2013_SP1); _exchangeService.AutodiscoverUrl(_sender); - Jess
@Jess:你能检查一下IIS中EWS虚拟目录是否配置为使用ASP.NET 1.1吗?如果是的话,请尝试更改为ASP.NET 2.0。 - Douglas
你尝试过使用 Fiddler 查看与 AWS Web 服务之间的数据传输吗?针对一个有效的电子邮件地址和一个无效的电子邮件地址进行测试,查看数据是否存在任何重大差异。 - Daz
2个回答

0

一些可能的答案。

  1. 传递错误的URL或域名。
  2. 传递错误的电子邮件地址。
  3. 重新构建Windows配置文件有时可以帮助解决问题。(警告:请IT管理员执行此操作)。这可能是过度处理。
  4. 用户可能设置了旧的、错误的或多个Outlook配置文件。Outlook配置文件中的电子邮件服务器名称可能不正确。(请参见控制面板>邮件)

0

Autodiscover 会依赖于以下两点:

  1. 将用户邮件域指向 Exchange 服务器上的 Autodiscover 数据的 DNS 条目。通常情况下,您需要在名称为 autodiscover.domain.com 的 DNS 条目中配置,但是对于不同版本的 Exchange,有多种设置方法可供选择。如果正确的 DNS 条目不存在,则自动发现将失败。

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

请检查适当的 DNS 条目和 Autodiscover 信息是否可供客户端访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接