EWS: Improve Exchange 2013 support
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2284 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
8ab1160567
commit
89d0ed029f
|
@ -437,7 +437,7 @@ public abstract class EWSMethod extends PostMethod {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Exchange server version, Exchange2010 or Exchange2007_SP1
|
* Get Exchange server version, Exchange2013, Exchange2010 or Exchange2007_SP1
|
||||||
*
|
*
|
||||||
* @return server version
|
* @return server version
|
||||||
*/
|
*/
|
||||||
|
@ -1103,8 +1103,14 @@ public abstract class EWSMethod extends PostMethod {
|
||||||
handleErrors(reader);
|
handleErrors(reader);
|
||||||
if (serverVersion == null && XMLStreamUtil.isStartTag(reader, "ServerVersionInfo")) {
|
if (serverVersion == null && XMLStreamUtil.isStartTag(reader, "ServerVersionInfo")) {
|
||||||
String majorVersion = getAttributeValue(reader, "MajorVersion");
|
String majorVersion = getAttributeValue(reader, "MajorVersion");
|
||||||
if ("14".equals(majorVersion)) {
|
String minorVersion = getAttributeValue(reader, "MinorVersion");
|
||||||
String minorVersion = getAttributeValue(reader, "MinorVersion");
|
if ("15".equals(majorVersion)) {
|
||||||
|
if ("0".equals(minorVersion)) {
|
||||||
|
serverVersion = "Exchange2013";
|
||||||
|
} else {
|
||||||
|
serverVersion = "Exchange2013_SP1";
|
||||||
|
}
|
||||||
|
} else if ("14".equals(majorVersion)) {
|
||||||
if ("0".equals(minorVersion)) {
|
if ("0".equals(minorVersion)) {
|
||||||
serverVersion = "Exchange2010";
|
serverVersion = "Exchange2010";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -969,7 +969,7 @@ public class EwsExchangeSession extends ExchangeSession {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Condition headerIsEqualTo(String headerName, String value) {
|
public Condition headerIsEqualTo(String headerName, String value) {
|
||||||
if (serverVersion.startsWith("Exchange2010")) {
|
if (serverVersion.startsWith("Exchange201")) {
|
||||||
if ("from".equals(headerName)
|
if ("from".equals(headerName)
|
||||||
|| "to".equals(headerName)
|
|| "to".equals(headerName)
|
||||||
|| "cc".equals(headerName)) {
|
|| "cc".equals(headerName)) {
|
||||||
|
@ -1631,8 +1631,8 @@ public class EwsExchangeSession extends ExchangeSession {
|
||||||
|
|
||||||
newItem.setFieldUpdates(updates);
|
newItem.setFieldUpdates(updates);
|
||||||
createOrUpdateItemMethod = new CreateItemMethod(MessageDisposition.SaveOnly, SendMeetingInvitations.SendToNone, getFolderId(folderPath), newItem);
|
createOrUpdateItemMethod = new CreateItemMethod(MessageDisposition.SaveOnly, SendMeetingInvitations.SendToNone, getFolderId(folderPath), newItem);
|
||||||
// force context Timezone on Exchange 2010
|
// force context Timezone on Exchange 2010 and 2013
|
||||||
if (serverVersion != null && serverVersion.startsWith("Exchange2010")) {
|
if (serverVersion != null && serverVersion.startsWith("Exchange201")) {
|
||||||
createOrUpdateItemMethod.setTimezoneContext(EwsExchangeSession.this.getVTimezone().getPropertyValue("TZID"));
|
createOrUpdateItemMethod.setTimezoneContext(EwsExchangeSession.this.getVTimezone().getPropertyValue("TZID"));
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
|
|
Loading…
Reference in New Issue