Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropPatch.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropPatch.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropPatch.java	(working copy)
@@ -67,7 +67,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing PROPPATCH: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
                     return new WebdavResponse(responseCode);
 
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Head.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Head.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Head.java	(working copy)
@@ -50,7 +50,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing HEAD: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Delete.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Delete.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Delete.java	(working copy)
@@ -50,7 +50,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing DELETE: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Facets.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Facets.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Facets.java	(working copy)
@@ -98,7 +98,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing FACETS: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
                     byte[] responseAsBytes = method.getResponseAsBytes();
 
                     return new WebdavResponse(responseCode, responseAsBytes, key);
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/MkCol.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/MkCol.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/MkCol.java	(working copy)
@@ -50,7 +50,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing MKCOL: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Search.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Search.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Search.java	(working copy)
@@ -97,7 +97,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing SEARCH: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
                     byte[] responseAsBytes = method.getResponseAsBytes();
 
                     return new WebdavResponse(responseCode, responseAsBytes, request);
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Move.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Move.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Move.java	(working copy)
@@ -57,7 +57,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing MOVE: " + srcPath.getFullPath() + " to " + destPath.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Put.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Put.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Put.java	(working copy)
@@ -53,7 +53,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing PUT: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/WebdavMethod.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/WebdavMethod.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/WebdavMethod.java	(working copy)
@@ -24,7 +24,9 @@
 import nl.hippo.client.webdav.WebdavResponse;
 import nl.hippo.client.webdav.caching.WebdavCacheHandler;
 
+import org.apache.commons.httpclient.DefaultMethodRetryHandler;
 import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpMethodBase;
 
 /**
  * Abstract base class for all Webdav methods.
@@ -157,5 +159,19 @@
         }
         return result;
     }
+    
 
+    /**
+    * Retries up to three times
+    *
+    * @return httpclient response code
+    */
+    protected int executeMethod(HttpClient httpclient, HttpMethodBase method) throws IOException {
+        DefaultMethodRetryHandler retryHandler = new DefaultMethodRetryHandler();
+        retryHandler.setRetryCount(3);
+        method.setMethodRetryHandler(retryHandler);
+    
+        return httpclient.executeMethod(method);
+    }
+
 }
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Copy.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Copy.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Copy.java	(working copy)
@@ -59,7 +59,7 @@
                         WebdavLogger.log.debug("Executing COPY: " + srcPath.getFullPath() + " to "
                                 + destPath.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
 
                     return new WebdavResponse(responseCode);
                 } catch (Exception e) {
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Get.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Get.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/Get.java	(working copy)
@@ -63,7 +63,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing GET: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
                     InputStream responseAsAutoCloseInputStream = method.getResponseBodyAsStream();
                     byte[] responseAsBytes = Converters.stream2Bytes(responseAsAutoCloseInputStream);
 
Index: C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropFind.java
===================================================================
--- C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropFind.java	(revision 15743)
+++ C:/Software/Eclipse3.3/workspace/webdav-client/src/java/nl/hippo/client/webdav/method/PropFind.java	(working copy)
@@ -73,7 +73,7 @@
                     if (WebdavLogger.log.isDebugEnabled()) {
                         WebdavLogger.log.debug("Executing PROPFIND: " + path.getFullPath());
                     }
-                    int responseCode = client.executeMethod(method);
+                    int responseCode = executeMethod(client, method);
                     byte[] responseAsBytes = method.getResponseAsBytes();
 
                     return new WebdavResponse(responseCode, responseAsBytes, request);
