我在 Exchange 中创建双周日历约会或在 Outlook 中查看时遇到问题
该活动从 2013 年 1 月 19 日开始,每周六和周日每两周一次(间隔 = 2),最多发生 5 次。
预期发生:1 月 19 日星期六、1 月 20 日星期日、2 月 2 日星期六、2 月 3 日星期日、2 月 16 日星期六
观察到的事件:1 月 19 日星期六、1 月 27 日星期日、2 月 2 日星期六、2 月 10 日星期日、2 月 16 日星期六。什么??
我查看了 Outlook 2003 SP3 或 Outlook 2010 (SP?) 的约会。
这是使用 Exchange Web 服务创建事件的代码,并带有关于我尝试过的事情的评论:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages">
<soapenv:Header>
<typ:RequestServerVersion Version="Exchange2007_SP1"/>
<typ:MailboxCulture>en-US</typ:MailboxCulture>
<!-- typ:TimeZoneContext makes no difference -->
<typ:TimeZoneContext>
<typ:TimeZoneDefinition Id="W. Europe Standard Time"></typ:TimeZoneDefinition>
</typ:TimeZoneContext>
</soapenv:Header>
<soapenv:Body>
<mes:CreateItem SendMeetingInvitations="SendToNone">
<mes:Items>
<typ:CalendarItem>
<typ:Subject>Every 2 weeks sa/su, ends after 5</typ:Subject>
<typ:Body BodyType="Text"></typ:Body>
<typ:ReminderIsSet>false</typ:ReminderIsSet>
<typ:Start>2013-01-19T11:00:00.000+01:00</typ:Start>
<typ:End>2013-01-19T11:30:00.000+01:00</typ:End>
<typ:IsAllDayEvent>false</typ:IsAllDayEvent>
<typ:LegacyFreeBusyStatus>Busy</typ:LegacyFreeBusyStatus>
<typ:Location></typ:Location>
<typ:Recurrence>
<typ:WeeklyRecurrence>
<typ:Interval>2</typ:Interval>
<!-- Day name order makes no difference -->
<typ:DaysOfWeek>Saturday Sunday</typ:DaysOfWeek>
<!-- typ:FirstDayOfWeek>Sunday</typ:FirstDayOfWeek Tried but not allowed in Exchange2007_SP1 or Exchange2010-->
</typ:WeeklyRecurrence>
<typ:NumberedRecurrence>
<typ:StartDate>2013-01-19</typ:StartDate>
<typ:NumberOfOccurrences>5</typ:NumberOfOccurrences>
</typ:NumberedRecurrence>
<!-- MeetingTimeZone makes no difference -->
<typ:MeetingTimeZone TimeZoneName="W. Europe Standard Time"/>
</typ:Recurrence>
</typ:CalendarItem>
</mes:Items>
</mes:CreateItem>
</soapenv:Body>
</soapenv:Envelope>
此代码实际上与David Sterling 等人的《 Inside Microsoft Exchange Server 2007 Web Services 》一书的清单 9-29 相同
如果我为此事件查询 EWS,我会取回我创建的内容:
<t:CalendarItem>
<t:ItemId Id="AQMkA[snip]PYb1"/>
<t:Subject>Every 2 weeks sa/su, ends after 5</t:Subject>
[snip]
<t:Start>2013-01-19T10:00:00Z</t:Start>
<t:End>2013-01-19T10:30:00Z</t:End>
<t:CalendarItemType>RecurringMaster</t:CalendarItemType>
<t:Recurrence>
<t:WeeklyRecurrence>
<t:Interval>2</t:Interval>
<t:DaysOfWeek>Sunday Saturday</t:DaysOfWeek>
</t:WeeklyRecurrence>
<t:NumberedRecurrence>
<t:StartDate>2013-01-19+01:00</t:StartDate>
<t:NumberOfOccurrences>5</t:NumberOfOccurrences>
</t:NumberedRecurrence>
</t:Recurrence>
</t:CalendarItem>
这是 Exchange server 2010 无服务包。
我尝试过的其他事情:
1)如果我在 Outlook 中编辑该神秘事件并告诉它也发生在星期五,它或多或少会正确更新:一个星期五额外发生(2 月 1 日),最后一个 2 月 16 日星期六事件下降,但我的交替坐/太阳事件仍然存在
2)在 EWS 中使用相同的代码,我创建了这个事件:
星期二星期四(开始日期 1 月 15 日):很好
星期天星期二(开始日期 1 月 15 日):错误(再次交替模式)
星期一星期六(开始日期 1 月 14 日):很好
3) 在 Outlook 2003 中创建完全相同的事件,而不是通过 EWS。它显示得很好。然后查询 EWS,我得到完全相同的 SOAP 结果。
我担心的是:
我误解了重复参数还是所有 Outlook 版本都错了?后者似乎不太可能,但上面指出了这一点。
有人知道这里可能出了什么问题吗?