#php #timezone #exchange-server #exchangewebservices
#php #Часовой пояс #exchange-сервер #exchangewebservices
Вопрос:
Я использую библиотеку PHP EWS из github (https://github.com/jamesiarmes/php-ews ).
При получении набора элементов календаря с помощью CalendarView элементы принимаются с разницей во времени в 1 час. Для часового пояса сервера exchange установлено значение «(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
Приветствия, Глен
Комментарии:
1. Спасибо, Глен. Хотя это невозможно указать с помощью пакета PHP EWS, указание напрямую с помощью SOAP работает с удовольствием.
2. Можете ли вы сказать мне, какой файл из проекта PHP EWS вы изменили, чтобы заставить это работать?