2013-04-03 41 views
1

我目前正在使用Windows Azure服务,并且必须实现从Exchange服务器导入某些项目。 当我在本地模拟器上测试它时,一切正常,我可以导入这些项目,但部署在它停止工作的云上。EWS无法在Windows Azure上工作

这是例外,我得到:

异常类型:ServiceResponseException 异常消息:发生了内部服务器错误。操作失败。

我的代码使用方法:

service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
service.UseDefaultCredentials = false; 
service.Credentials = new NetworkCredential(userName, password, domain); 
service.Url = new Uri(serverUrl); 

itemPropertySet = new PropertySet(BasePropertySet.FirstClassProperties); 
itemPropertySet.RequestedBodyType = BodyType.Text; 

CalendarView calendarView = new CalendarView(fromDate, toDate); 
List<ExchangeTask> tasks = new List<ExchangeTask>(); 
try 
{ 
    FindItemsResults<Appointment> appointments = service.FindAppointments(WellKnownFolderName.Calendar, calendarView); 

    if (appointments.TotalCount > 0) 
    { 
     service.LoadPropertiesForItems(appointments, itemPropertySet); 
    } 
    foreach (Appointment app in appointments) 
    { 
     tasks.Add(new ExchangeTask() { Name = app.Subject, Description = app.Body, DeadLine = app.End.ToString() }); 
    } 
    return tasks; 
} 
catch (Exception ex) 
{ 
    throw ex; 
} 

编辑1: 这不是一个防火墙的问题,因为如果我输入用户名或密码不正确,不是它抛出了未经授权的异常,因此它连接到服务器。

回答

1

疼痛3天之后,我解决了这个问题。问题是我没有在ExchangeService类的构造函数中指定时区。我的构造函件现在看起来像这样:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));

0

您应该检查你的虚拟机的防火墙策略在Windows Azure上

相关问题