Exchangeで隔週のカレンダーの予定を作成したり、Outlookで表示したりするのに問題があります
イベントは、2013年1月19日から土曜日と日曜日に隔週(interval = 2)で、最大5回発生します。
予想される発生:sat 19 jan、sun 20 jan、sat 2 feb、sun 3 feb、sat 16 feb
観測された発生:sat 19 jan、sun 27 jan、sat 2 feb、sun 10 feb、sat16feb。わぁぁぁぁ?
Outlook 2003SP3またはOutlook2010(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>
このコードは、DavidSterling他による『 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>
これはExchangeServer2010のサービスパックなしです。
私が試した他のこと:
1)Outlookでそのミステリーイベントを編集し、金曜日にも発生するように指示すると、ほぼ適切に更新されます。1つの金曜日が余分に発生し(2月1日)、最後の2月16日土曜日のイベントが終了しますが、 /太陽の発生は残ります
2)EWSで同じコードを使用して、次のイベントを作成しました:
火曜日木曜日(開始日1月15日):晴れ
日曜日火曜日(開始日1月15日):間違った(交互のパターン)
月曜日土曜日(開始日1月14日):罰金
3)EWSを使用する代わりに、Outlook2003でまったく同じイベントを作成します。それはうまく表示されます。次に、EWSにクエリを実行すると、まったく同じSOAP結果が得られます。
私の懸念は次のとおりです。
繰り返しパラメータを誤って解釈しているのでしょうか、それともすべてのOutlookバージョンが間違っているのでしょうか。後者はありそうもないようですが、上記はそれを示しています。
ここで何がうまくいかないのか誰かが考えていますか?