7

我正在尝试连接到 Exchange 2010 服务器上的 Exchange Web 服务 (ews)。这是我正在使用的代码:

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Exchange.WebServices.Data;

namespace NDR_Processor
{
    class Program
{
    static void Main(string[] args)
    {
        ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
        service.Credentials = new System.Net.NetworkCredential("redacted", "redacted", "redacted");

        service.Url = new Uri("https://exchange.redacted.net/EWS/Exchange.asmx");

        System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

        FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(1000));

        foreach (Item item in findResults.Items)
        {
            Console.WriteLine(item.Subject);
            Console.WriteLine(item.Body);

        }
    }
}
}

但是,这样做时我收到一条错误消息,指出“从服务收到的响应不包含有效的 XML。”。内部异常表示:{“根级别的数据无效。第 1 行,位置 1。”}

我尝试在 Web 浏览器中点击https://exchange.redacted.net/EWS/Exchange.asmx,它会提示我登录,然后我会看到一个有效的 XML 文档,据我所知。所以我不知道为什么我的应用程序会窒息。

有没有人知道为什么会发生这种情况或我该如何解决?

谢谢布拉德

4

2 回答 2

6
service.Url = new Uri("https://mail.tencent.com/EWS/Exchange.asmx");

详细信息在这里:c# programmatically reading emails from the Exchange server

于 2013-01-11T07:11:06.687 回答
3

我遇到了与以下论坛帖子中所述相同的问题:http: //social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/e54c217f-28ff-4626-8ce8-a1242081f4d1/

(基本上额外的字符被预先添加并附加到返回的 xml 中,导致上述错误)

如果它有任何帮助 - 删除和重新创建 EWS 虚拟目录并没有缓解问题。

我相信也许我们的 F5 负载平衡器或某些中间设备在 XML 的开头或结尾插入了额外的字符。

当我将代码更改为: service.Url = new Uri("https: //192.168.xx /EWS/Exchange.asmx");

(基本上使用我们交换服务器的内部 IP 地址)请求工作得很好。所以交换之外的东西正在破坏 XML。

于 2012-07-08T14:04:11.783 回答