我已经在 Outlook 2003 SP3 中注册了一个约会,具有重复模式 每天、每个工作日、无结束日期。
数据存储在 MS Exchange Server 2010.
如果我向 Exchange Web 服务查询该事件(一些详细信息),它会返回每个星期一的每周发生次数。星期五:
<Recurrence>
<WeeklyRecurrence>
<Interval>1</Interval>
<DaysOfWeek>Monday Tuesday Wednesday Thursday Friday</DaysOfWeek>
</WeeklyRecurrence>
<NoEndRecurrence>
<StartDate>2012-12-03+01:00</StartDate>
</NoEndRecurrence>
</Recurrence>
从技术上讲,这些是同一天,但我将其存储在另一个系统中,并希望 Outlook 每日约会也作为每日约会显示在那里;-)
这是一个已知问题吗?
有什么办法可以防止这种情况吗?
[我自己无法将"每周周一至周五"转换回"每日每个工作日",因为这会修改"真正的"每周周一至周五"约会]
谢谢
一月
完整请求:
<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>
</soapenv:Header>
<soapenv:Body>
<mes:GetItem>
<mes:ItemShape>
<typ:BaseShape>IdOnly</typ:BaseShape>
<typ:BodyType>Text</typ:BodyType>
<typ:AdditionalProperties>
<typ:FieldURI FieldURI="item:Subject" />
<typ:FieldURI FieldURI="item:ReminderIsSet" />
<typ:FieldURI FieldURI="item:ReminderMinutesBeforeStart" />
<typ:FieldURI FieldURI="calendar:Location" />
<typ:FieldURI FieldURI="calendar:IsAllDayEvent" />
<typ:FieldURI FieldURI="calendar:LegacyFreeBusyStatus" />
<typ:FieldURI FieldURI="calendar:Recurrence" />
<typ:FieldURI FieldURI="item:Body"/>
</typ:AdditionalProperties>
</mes:ItemShape>
<mes:ItemIds>
<typ:ItemId Id="AQMkAD[snip]2HQAAAA=="/>
</mes:ItemIds>
</mes:GetItem>
</soapenv:Body>
</soapenv:Envelope>
完整响应:
<Envelope>
<Header>
<ServerVersionInfo MajorVersion="14" MinorVersion="0" MajorBuildNumber="722" MinorBuildNumber="0" Version="Exchange2010"/>
</Header>
<Body>
<GetItemResponse>
<ResponseMessages>
<GetItemResponseMessage ResponseClass="Success">
<ResponseCode>NoError</ResponseCode>
<Items>
<CalendarItem>
<ItemId Id="AQMkAD[snip]2HQAAAA==" ChangeKey="DwAAA[snip]ns8Yn"/>
<Subject>Elke werkdag, geen einddatum</Subject>
<Body BodyType="Text"/>
<ReminderIsSet>false</ReminderIsSet>
<ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>
<IsAllDayEvent>false</IsAllDayEvent>
<LegacyFreeBusyStatus>Busy</LegacyFreeBusyStatus>
<Location/>
<Recurrence>
<WeeklyRecurrence>
<Interval>1</Interval>
<DaysOfWeek>Monday Tuesday Wednesday Thursday Friday</DaysOfWeek>
</WeeklyRecurrence>
<NoEndRecurrence>
<StartDate>2012-12-03+01:00</StartDate>
</NoEndRecurrence>
</Recurrence>
</CalendarItem>
</Items>
</GetItemResponseMessage>
</ResponseMessages>
</GetItemResponse>
</Body>
</Envelope>
又挖了一个小时后,我在Microsoft论坛上发现了"每日和每周重复模式问题",指出这是不可能的:
"在 EWS 中定义"每个工作日"的定期模式的唯一方法是使用 WeeklyRecurrencePatternType。DailyPatternType 只能用于定义重复周期,其中每次出现都发生在前一次之后的 N 天.
换句话说,在EWS中没有办法区分两者。