From db3bd5914bdf7a7e4e1dab6ef6bbf55188ecf220 Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 6 Oct 2009 21:08:05 +0000 Subject: [PATCH] Caldav: fix regression after ActiveSync patch, PROPPATCH on contentClass removes all custom ICS properties git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@767 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 2818c09b..71b7cd0d 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -2359,6 +2359,19 @@ public class ExchangeSession { if (patchStatus != HttpStatus.SC_MULTI_STATUS) { LOGGER.warn("Unable to patch event to trigger activeSync push"); } else { + // Yet another patch: restore message custom body, all custom lines are removed by PROPPATCH + PutMethod restorePutMethod = new PutMethod(messageUrl); + restorePutMethod.setRequestHeader("Translate", "f"); + restorePutMethod.setRequestHeader("Overwrite", "f"); + restorePutMethod.setRequestEntity(new ByteArrayRequestEntity(baos.toByteArray(), "message/rfc822")); + try { + status = httpClient.executeMethod(restorePutMethod); + if (status == HttpURLConnection.HTTP_OK) { + LOGGER.warn("Unable to create or update message " + status + ' ' + restorePutMethod.getStatusLine()); + } + } finally { + putmethod.releaseConnection(); + } // Need to get event again to get updated etag Event event = getEvent(messageUrl); if (event.getEtag() != null) {