2014-06-17 46 views
1

我使用從GitHub(https://github.com/jamesiarmes/php-ews)的PHP EWS庫之間的一個的小時差。PHP EWS - 約會有Exchange 2010和我的應用程序

當檢索一組使用CalendarView日曆項目時,項目用1小時的時間差接收。交換服務器時區設置爲「(UTC)都柏林,愛丁堡,里斯本,倫敦」,夏令時開啓。

通過EWS 2010文檔去,也沒有指定哪個時區,我的客戶端應用程序是使用CalendarView的方式。

我已經改變了運行我的應用程序的服務器的時區和已經嘗試了許多其他的事情,試圖讓Exchange服務器和我的應用程序無濟於事的預約時間。

誰能告訴我如何這是可以克服的?

非常感謝,

回答

1

你需要指定的SOAP標題,例如你提到的具體的時區的時區和夏令時的過渡將是

<soap:Header> 
    <t:RequestServerVersion Version="Exchange2013" /> 
    <t:TimeZoneContext> 
    <t:TimeZoneDefinition Name="(UTC) Dublin, Edinburgh, Lisbon, London" Id="GMT Standard Time"> 
     <t:Periods> 
     <t:Period Bias="P0DT0H0M0.0S" Name="Standard" Id="Std" /> 
     <t:Period Bias="-P0DT1H0M0.0S" Name="Daylight" Id="Dlt/1" /> 
     </t:Periods> 
     <t:TransitionsGroups> 
     <t:TransitionsGroup Id="0"> 
      <t:RecurringDayTransition> 
      <t:To Kind="Period">Dlt/1</t:To> 
      <t:TimeOffset>P0DT1H0M0.0S</t:TimeOffset> 
      <t:Month>3</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>P0DT2H0M0.0S</t:TimeOffset> 
      <t:Month>10</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:Transitions> 
    </t:TimeZoneDefinition> 
    </t:TimeZoneContext> 
</soap:Header> 

這在http://msdn.microsoft.com/en-us/library/ee332363(v=exchg.140).aspx

記錄乾杯 格倫

+0

感謝格倫。雖然不可能使用PHP EWS套件來指定它,但直接使用SOAP進行指定是可行的。 – user2886085

+0

您能否告訴我您是否更改了PHP EWS項目中的哪個文件來完成此項工作? – Laoneo

相關問題