Index: camel/camel-exchange-folder.c
===================================================================
--- camel/camel-exchange-folder.c	(revision 1849)
+++ camel/camel-exchange-folder.c	(working copy)
@@ -86,6 +86,7 @@
 					      CamelException *ex);
 static void refresh_info (CamelFolder *folder, CamelException *ex);
 static void exchange_sync (CamelFolder *folder, gboolean expunge, CamelException *ex);
+static char* get_filename (CamelFolder *folder, const char *uid, CamelException *ex);
 
 static void
 class_init (CamelFolderClass *camel_folder_class)
@@ -105,6 +106,7 @@
 	camel_folder_class->transfer_messages_to = transfer_messages_to;
 	camel_folder_class->refresh_info = refresh_info;
 	camel_folder_class->sync = exchange_sync;
+	camel_folder_class->get_filename = get_filename;
 }
 
 #define CAMEL_EXCHANGE_SERVER_FLAGS \
@@ -160,6 +162,7 @@
 	return camel_exchange_folder_type;
 }
 
+
 static void
 refresh_info (CamelFolder *folder, CamelException *ex)
 {
@@ -362,6 +365,14 @@
 	}
 }
 
+static char*
+get_filename (CamelFolder *folder, const char *uid, CamelException *ex)
+{
+	CamelExchangeFolder *exch = CAMEL_EXCHANGE_FOLDER (folder);
+
+	return camel_data_cache_get_filename (exch->cache, "cache", uid, NULL);
+}
+
 static GByteArray *
 get_message_data (CamelFolder *folder, const char *uid, CamelException *ex)
 {
