Search code examples
exchange-serverexchangewebservicesexchange-server-2010

Exchange Server changing daily recurrence pattern to weekly?


I have registered an appointment in Outlook 2003 SP3 with recurrence pattern Daily, every workday, no end date.
The data are stored in MS Exchange Server 2010.
If I query Exchange Web Services for that event (some detail info) it returns a weekly occurrence for every Monday..Friday:

<Recurrence>
  <WeeklyRecurrence>
    <Interval>1</Interval>
    <DaysOfWeek>Monday Tuesday Wednesday Thursday Friday</DaysOfWeek>
  </WeeklyRecurrence>
  <NoEndRecurrence>
    <StartDate>2012-12-03+01:00</StartDate>
  </NoEndRecurrence>
</Recurrence>

Technically, these are the same days, but I'm storing this in another system and would like an Outlook daily appointment to show up there as a daily appointment too ;-)

Is this a known issue?
Can anything be done to prevent this?
[I can't myself convert "Weekly Mon-Fri" back to "Daily every workday" because that would modify a 'real' "Weekly Mon-Fri" appointment]

Thanks
Jan

Full request:

<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>

Full response:

<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>

Solution

  • After another hour of digging I found "Daily and Weekly recurrence pattern trouble" on a Microsoft forum stating that it is not possible:

    "The only way to define a recurrence pattern for "Every weekday" in EWS is to use WeeklyRecurrencePatternType. DailyPatternType can only be used to define a recurrence where each occurrence happens N day after the previous one.
    In other words, there is no way to distinguish the two in EWS."