Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EWS Exchange Web服务API自动发现URL异常_C#_.net_Web Services_Outlook_Exchangewebservices - Fatal编程技术网

C# EWS Exchange Web服务API自动发现URL异常

C# EWS Exchange Web服务API自动发现URL异常,c#,.net,web-services,outlook,exchangewebservices,C#,.net,Web Services,Outlook,Exchangewebservices,我尝试创建约会时出错: 预期的XML节点类型为XmlDeclaration,但实际类型为 元素 调用AutodiscoverUrl时发生此异常 为此,我创建了一个web服务 [webMethod] CreateAppointment() { var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1) { Credentials = new WebCredentials("myAcount@

我尝试创建约会时出错:

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

一些可能的答案

  • 传入错误的url或域
  • 传递错误的电子邮件地址
  • 重建Windows配置文件有时会有所帮助。(警告:让IT管理员执行此操作)。这可能有点过分了
  • 用户可以设置旧的、坏的或多个outlook配置文件。outlook配置文件中的电子邮件服务器名称可能不正确。(请参见控制面板>邮件)

  • 自动发现取决于两件事:

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

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


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

    我为此悬赏。这对某些用户非常有效,但对其他用户则不然。我的电子邮件地址有个例外。我可以发送到电子邮件地址。这与电子邮件地址无关。我刚刚用讨论中的电子邮件地址运行了这行代码,它运行得很好:
    \u exchangeseservice=new exchangeseservice(exchangevervion.Exchange2013\u SP1)_exchangeService.AutoDiscoveryURL(\u发件人)
    @Jess:能否检查EWS虚拟目录是否配置为在IIS中使用ASP.NET 1.1?如果是这样,请尝试将其更改为ASP.NET 2.0。您是否尝试使用Fiddler查看AWS web服务的进出情况?对一个有效的电子邮件地址和一个无效的电子邮件地址进行测试,看看数据中是否有任何重大差异。