2

我正在将业务从 Kerio Connect 迁移到 MS Exchange 2010(不要问为什么)。因此,我编写了一些代码,通过 CalDAV 从 Kerio 中提取事件和任务,并使用 EWS(Exchange Web 服务)在 Exchange 中重新创建它们。

一切都很好,除了一件事:组织者和参与者之间的联系被打破了。我的意思是,参与者可以编辑会议,这是他不应该做的,如果组织者更改会议时间,参与者不会得到更新。

我查看了 Outlook 2011 和 iCal 在创建事件时所做的事情,并且我执行相同的步骤,除了一件重要的事情:我在 Exchange 中重新创建的事件是参与者已经接受邀请的事件,我们不想发送邀请当我们开始迁移时。

这是在 EWS 中创建事件的请求:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <ns2:MailboxCulture xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns3="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:ns3="http://schemas.microsoft.com/exchange/services/2006/messages" Version="Exchange2010_SP1" />
    <ns2:TimeZoneContext xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns3="http://schemas.microsoft.com/exchange/services/2006/messages">
      <ns2:TimeZoneDefinition Id="Eastern Standard Time" />
    </ns2:TimeZoneContext>
  </S:Header>
  <S:Body>
    <ns3:CreateItem xmlns:ns2="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns3="http://schemas.microsoft.com/exchange/services/2006/messages" SendMeetingInvitations="SendToAllAndSaveCopy">
      <ns3:SavedItemFolderId>
        <ns2:FolderId Id="AAMkADZkZDFkMjcwLTM5YWItNGRiYy05YzA0LWZhZmM3MjBkNDM1ZgAuAAAAAAAQdcJHRof+QosJDrhZyY00AQCw+XICdccgRJNrvNFaYvpgAAAAevvIAAA=" />
      </ns3:SavedItemFolderId>
      <ns3:Items>
        <ns2:CalendarItem>
          <ns2:Subject>Test prob -&gt; probert</ns2:Subject>
          <ns2:Body BodyType="Text"> 
          </ns2:Body>
          <ns2:Importance>Normal</ns2:Importance>
          <ns2:UID>3CB0FF7D-63F0-47A0-80B6-3B3131E7BCF4</ns2:UID>
          <ns2:Start>2012-12-21T17:00:00</ns2:Start>
          <ns2:End>2012-12-21T18:30:00</ns2:End>
          <ns2:IsAllDayEvent>false</ns2:IsAllDayEvent>
          <ns2:Location>salle3219_6</ns2:Location>
          <ns2:RequiredAttendees>
            <ns2:Attendee>
              <ns2:Mailbox>
                <ns2:Name>Pascal Robert</ns2:Name>
                <ns2:EmailAddress>probert@mydomain.com</ns2:EmailAddress>
              </ns2:Mailbox>
              <ns2:ResponseType>Accept</ns2:ResponseType>
            </ns2:Attendee>
          </ns2:RequiredAttendees>
          <ns2:OptionalAttendees>
            <ns2:Attendee>
              <ns2:Mailbox>
                <ns2:Name>salle3219_6</ns2:Name>
                <ns2:EmailAddress>salle3219_6@mydomain.com</ns2:EmailAddress>
              </ns2:Mailbox>
              <ns2:ResponseType>Accept</ns2:ResponseType>
            </ns2:Attendee>
          </ns2:OptionalAttendees>
        </ns2:CalendarItem>
      </ns3:Items>
    </ns3:CreateItem>
  </S:Body>

4

0 回答 0