Обмен и часовые пояса будут моей смертью.
Мой сервер Exchange расположен в EST (UTC-5).Версия Exchange 2007 SP1.Пользователь находится в Париже, Франция (UTC + 2).Если я попытаюсь назначить встречу как мероприятие на весь день, оно всегда будет длиться 2 дня.Вот запрос:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns2:MailboxCulture xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
>en-US</ns2:MailboxCulture>
<ns2:RequestServerVersion
xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
Version="Exchange2007_SP1"/>
<ns2:TimeZoneContext xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ns2:TimeZoneDefinition Id="Romance Standard Time"/>
</ns2:TimeZoneContext>
</soap:Header>
<soap:Body>
<CreateItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types"
SendMeetingInvitations="SendToAllAndSaveCopy">
<SavedItemFolderId>
<ns2:DistinguishedFolderId Id="calendar"/>
</SavedItemFolderId>
<Items>
<ns2:CalendarItem>
<ns2:Subject>Test TZ</ns2:Subject>
<ns2:Body BodyType="Text"/>
<ns2:Start>2011-10-28T09:00:00Z</ns2:Start>
<ns2:End>2011-10-28T17:00:00Z</ns2:End>
<ns2:IsAllDayEvent>true</ns2:IsAllDayEvent>
<ns2:Location>Somewhere</ns2:Location>
</ns2:CalendarItem>
</Items>
</CreateItem>
</soap:Body>
</soap:Envelope>
ПРИМЕЧАНИЕ. У меня на компьютере установлен часовой пояс "(UTC + 01: 00) Брюссель, Копенгаген, Мадрид, Париж", хотя компьютер физически расположен вEST.
Это то, что Outlook отображает в течение 2 дней.
Если я получаю вновь созданный элемент календаря из Exchange, он показывает следующую дату и время начала и окончания:
<t:Start>2011-10-28T00:00:00Z</t:Start>
<t:End>2011-10-29T00:00:00Z</t:End>
<t:IsAllDayEvent>true</t:IsAllDayEvent>
( Здесь можно найти полный ответ)
Я пробовал различные комбинации дат начала и окончания, но независимо от того, что я делаю, я всегда получаю это на протяжении 2 дней.Если я выполню ту же самую вещь (без заголовка контекста tz) в EST, она будет занимать только один день.