2

我在 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>
4

1 回答 1

2

经过一个小时的挖掘,我在微软论坛上发现了“每日和每周重复模式问题”,指出这是不可能的:

“在 EWS 中为“每个工作日”定义重复模式的唯一方法是使用 WeeklyRecurrencePatternType。DailyPatternType 只能用于定义重复发生,其中每次发生都发生在前一次之后的 N 天。
换句话说,没有办法在 EWS 中区分两者。”

于 2012-12-06T15:23:36.363 回答