Bra*_*rad 5 c# xml exchangewebservices
我正在尝试连接到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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这样做时出现错误,指出“从服务收到的响应不包含有效的XML。”。内部异常指示:{“根级别的数据无效。第1行,位置1。”}
我尝试在Web浏览器中点击https://exchange.redacted.net/EWS/Exchange.asmx,它提示我登录,然后据我所知向我提供有效的XML文档。所以我不知道为什么我的应用程序令人窒息。
是否有人对为什么会发生或我如何解决有任何想法?
谢谢布拉德
小智 5
service.Url = new Uri("https://mail.tencent.com/EWS/Exchange.asmx");
Run Code Online (Sandbox Code Playgroud)
详细信息在这里:c#以编程方式从Exchange服务器读取电子邮件
我遇到了与以下论坛帖子中所述相同的问题: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。