Either Evolution or EWS creates broken Exchange meetings regarding the timezone

Hi,

We use Evolution as an Email- and Calendar-Client against our Exchange-Server. As we run a Linux environment we just have OWA (WebClient) and Evolution at the user-side for creating and editing meetings.
(3.36.5-0ubuntu1; evolution-ews 3.36.5-0ubuntu1.1 amd64)

Evolution uses EWS when creating meetings stored in the “Exchange DB”. Here we found a bug, but are not sure if the problem is on the client-side or the EWS-interface.

I cannot see the actual “EWS request” (SOAP-Request) sent from Evolution. I just see the broken meeting inside the Exchange-DB using a “Windows EWS debugging tool”.

Here are the details.

The workflow to trigger the problem is:
Create a meeting inside Evolution. Use a timezone different to UTC. In our case UTC+1/CET. Store the meeting inside Exchange using EWS.

If you look at the EWS-file structure/schema of the meeting inside the Exchange-DB with a EWS-debugging-tool you can see that the meeting is stored as UTC, instead of UTC+1 like the user/client wished.

The key “TimeZone” has the value “UTC” written to it.

I don’t know how evolution send its SOAP-Request to EWS, but if you send a meeting manually to EWS using this header …

soap:Header
<t:RequestServerVersion Version=“Exchange2010” />
<t:TimeZoneContext>
<t:TimeZoneDefinition Id=“W. Europe Standard Time” />
</t:TimeZoneContext>
</soap:Header>

(RequestServerVersion Version=“Exchange2010” is the version of EWS not the Exchange-Server. Changing it to the newest EWS-version (Exchange2015) doesn’t make a difference).

… this manual SOAP-Request leads to a (kind of) correct value for the key TimeZone"-> “(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague”

Using OWA (where you don’t have the possibility to change the timezone for a single meeting) to create a meeting leads to a different value for TimeZone, which also doesn’t lead to a problem. So OWA itself
works. Using OWA we find the value “Customized Time Zone” inside the EWS-file.

We initially found the problem while we tested Microsoft Teams, which also uses EWS with a Exchange-Hybrid setup to store meeting in Exchange. The usage of the calendar in Teams also leads to the same broken meetings inside our On-Premise Exchange-DB. I described the problem here:

Here you’ll also see a screenshot of the broken EWS-file structure/schema. You’ll also find additional information, because the real problem for users occurs when editing the broken meeting using OWA
(created by Evolution or Teams), not when you create and don’t modify it. That’s also the reason this problem wasn’t found for 3 years in our setup.

Is someone able to figure out if the clients using EWS are behaving wrong, or if it’s EWS itself doing something strange when writing the SOAP-Request to Exchange?

Thanks in advance

Sebastian

1 Like

As a new user I wasnt allowed to put 2 URLs inside the post.

The idea to send the mentioned SOAP-header manually comes from “the Microsoft Documentation”: Create appointments in a specific time zone by using EWS in Exchange | Microsoft Learn

If you put <t:TimeZoneDefinition Id=“W. Europe Standard Time” />" inside the request you’ll get a 100% correct EWS-file inside the DB. The mentioned header above leads to “(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague”. Which is kinda correct, but we are in “Berlin” Zone.

So I hope Evolution and Teams havn’t read that and are doing their requests wrong. But we’ll see what you guys figure out.

Have a good one :slight_smile:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.