Exchange Server 将每日重复模式更改为每周



我已经在 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中没有办法区分两者。

最新更新