none
EWS > Appointment synced from client to exchange calendar is off by 1 hour RRS feed

  • Question

  • Appointment synced from client to exchange calendar is off by 1 hour

    It will display as 2:00pm to 2:30pm on outlook calendar instead of 3:00-3:30pm.

    here is the request.

    Anyone has the same issue. It seemed to happen during daylight savings time

    <?xml version="1.0" encoding="utf-16"?>
    <CreateItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SendMeetingInvitations="SendToNone">
      <SavedItemFolderId xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        <DistinguishedFolderId Id="calendar" xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
          <Mailbox>
            <EmailAddress>test@test.com</EmailAddress>
          </Mailbox>
        </DistinguishedFolderId>
      </SavedItemFolderId>
      <Items xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        <CalendarItem xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
          <Subject>timezone test</Subject>
          <Body BodyType="Text" />
          <ReminderIsSet>true</ReminderIsSet>
          <ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>
          <Start>2013-11-01T15:00:00</Start>
          <End>2013-11-01T15:30:00</End>
          <LegacyFreeBusyStatus>Busy</LegacyFreeBusyStatus>
          <MeetingTimeZone TimeZoneName="AUS Eastern Standard Time" />
        </CalendarItem>
      </Items>
    </CreateItemType>

    Thursday, October 31, 2013 7:41 PM

All replies

  • any MVP?
    Tuesday, November 5, 2013 7:13 PM
  • Hi Dino,

    I may not be an MVP, but I may have a useful piece of advice (it may not help either, you did not exactly flood us with information here):

    Check your client update state.
    - is .NET up-to-date?
    - Any OS updates still pending?
    - Any other dependencies out-of-date?
    - When was the last reboot?

    What happens if you specify the actual time-zones, both for Start and End? (Don't know about SOAP, but in EWS Managed API those fields are called "EndTimeZone" and "StartTimeZone")

    Cheers,
    Fred


    There's no place like 127.0.0.1

    Wednesday, November 6, 2013 12:29 AM
  • What version of Exchange are you using and are you versioning your requests if your using Exchange 2010 (or higher) ?

    If your using 2010 and up you might want to use the StartTimeZone and EndTimeZone instead see the notes in http://msdn.microsoft.com/en-us/library/ff406132(v=exchg.140).aspx "Do not set the MeetingTimeZone property on calendar items; this property is deprecated in Exchange 2010 and setting it will result in an error."

    eg the latest def for Australian EST time would look like. Also note the Meeting start/end time are UTC with an offset.

              <t:CalendarItem>
                <t:Subject>test</t:Subject>
                <t:Start>2013-11-06T13:10:45.994+11:00</t:Start>
                <t:End>2013-11-06T14:10:46.311+11:00</t:End>
                <t:StartTimeZone Name="(UTC+10:00) Canberra, Melbourne, Sydney" Id="
    AUS Eastern Standard Time">
                  <t:Periods>
                    <t:Period Bias="-P0DT10H0M0.0S" Name="Standard" Id="Std" />
                    <t:Period Bias="-P0DT11H0M0.0S" Name="Daylight" Id="Dlt/1" />
                    <t:Period Bias="-P0DT11H0M0.0S" Name="Daylight" Id="Dlt/2008" />
    
                  </t:Periods>
                  <t:TransitionsGroups>
                    <t:TransitionsGroup Id="0">
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Dlt/1</t:To>
                        <t:TimeOffset>P0DT2H0M0.0S</t:TimeOffset>
                        <t:Month>10</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>-1</t:Occurrence>
                      </t:RecurringDayTransition>
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Std</t:To>
                        <t:TimeOffset>P0DT3H0M0.0S</t:TimeOffset>
                        <t:Month>3</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>-1</t:Occurrence>
                      </t:RecurringDayTransition>
                    </t:TransitionsGroup>
                    <t:TransitionsGroup Id="1">
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Dlt/2008</t:To>
                        <t:TimeOffset>P0DT2H0M0.0S</t:TimeOffset>
                        <t:Month>10</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>1</t:Occurrence>
                      </t:RecurringDayTransition>
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Std</t:To>
                        <t:TimeOffset>P0DT3H0M0.0S</t:TimeOffset>
                        <t:Month>4</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>1</t:Occurrence>
                      </t:RecurringDayTransition>
                    </t:TransitionsGroup>
                  </t:TransitionsGroups>
                  <t:Transitions>
                    <t:Transition>
                      <t:To Kind="Group">0</t:To>
                    </t:Transition>
                    <t:AbsoluteDateTransition>
                      <t:To Kind="Group">1</t:To>
                      <t:DateTime>2008-01-01T00:00:00.000Z</t:DateTime>
                    </t:AbsoluteDateTransition>
                  </t:Transitions>
                </t:StartTimeZone>
                <t:EndTimeZone Name="(UTC+10:00) Canberra, Melbourne, Sydney" Id="AU
    S Eastern Standard Time">
                  <t:Periods>
                    <t:Period Bias="-P0DT10H0M0.0S" Name="Standard" Id="Std" />
                    <t:Period Bias="-P0DT11H0M0.0S" Name="Daylight" Id="Dlt/1" />
                    <t:Period Bias="-P0DT11H0M0.0S" Name="Daylight" Id="Dlt/2008" />
    
                  </t:Periods>
                  <t:TransitionsGroups>
                    <t:TransitionsGroup Id="0">
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Dlt/1</t:To>
                        <t:TimeOffset>P0DT2H0M0.0S</t:TimeOffset>
                        <t:Month>10</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>-1</t:Occurrence>
                      </t:RecurringDayTransition>
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Std</t:To>
                        <t:TimeOffset>P0DT3H0M0.0S</t:TimeOffset>
                        <t:Month>3</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>-1</t:Occurrence>
                      </t:RecurringDayTransition>
                    </t:TransitionsGroup>
                    <t:TransitionsGroup Id="1">
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Dlt/2008</t:To>
                        <t:TimeOffset>P0DT2H0M0.0S</t:TimeOffset>
                        <t:Month>10</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>1</t:Occurrence>
                      </t:RecurringDayTransition>
                      <t:RecurringDayTransition>
                        <t:To Kind="Period">Std</t:To>
                        <t:TimeOffset>P0DT3H0M0.0S</t:TimeOffset>
                        <t:Month>4</t:Month>
                        <t:DayOfWeek>Sunday</t:DayOfWeek>
                        <t:Occurrence>1</t:Occurrence>
                      </t:RecurringDayTransition>
                    </t:TransitionsGroup>
                  </t:TransitionsGroups>
                  <t:Transitions>
                    <t:Transition>
                      <t:To Kind="Group">0</t:To>
                    </t:Transition>
                    <t:AbsoluteDateTransition>
                      <t:To Kind="Group">1</t:To>
                      <t:DateTime>2008-01-01T00:00:00.000Z</t:DateTime>
                    </t:AbsoluteDateTransition>
                  </t:Transitions>
                </t:EndTimeZone>
              </t:CalendarItem>
            </m:Items>
          </m:CreateItem>
    Cheers
    Glen
    Wednesday, November 6, 2013 2:28 AM
  • Thanks for your replies.

    Currently i am using exchange 2007

    this is what i specified in the code

    var version = new RequestServerVersion();
    version.Version = ExchangeVersionType.Exchange2007_SP1;
    esb.RequestServerVersionValue = version;

    Monday, November 18, 2013 7:16 PM
  • I'd suggest you take a look at http://msdn.microsoft.com/en-us/library/bb655859(v=exchg.80).aspx which discusses handling TimeZone in Proxy code.

    Cheers
    Glen


    Tuesday, November 19, 2013 5:34 AM