--- src\org\jets3t\service\impl\rest\httpclient\RestStorageService.java
+++ src\org\jets3t\service\impl\rest\httpclient\RestStorageService.java
@@ -49,13 +49,12 @@
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.methods.HttpUriRequest;
 import org.apache.http.conn.ClientConnectionManager;
 import org.apache.http.entity.BasicHttpEntity;
 import org.apache.http.entity.BufferedHttpEntity;
-import org.apache.http.entity.ContentType;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.RequestWrapper;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpCoreContext;
 import org.apache.http.util.EntityUtils;
 import org.jets3t.service.Constants;
@@ -1244,26 +1243,39 @@
             log.debug("Releasing HttpMethod after delete");
         }
         releaseConnection(result);
 
         return result;
     }
-
+	/**
+	 * Patch method to use the older httpcore 4.1 ( now deprecated consturctor ).  
+	 * 
+	 */
+	private StringEntity getDefaultTextStringEntry(String param) throws ServiceException {
+		
+		try {
+		    return new StringEntity(param, "text/plain", Constants.DEFAULT_ENCODING);
+		}catch(UnsupportedEncodingException e) {
+			log.debug("Exception creating StringEntity:" + e.getMessage());
+			throw new ServiceException("Exception creating new StringEntity.", e);
+		}
+		
+	}
     protected HttpResponseAndByteCount performRestPutWithXmlBuilder(String bucketName,
                                                                     String objectKey, Map<String, Object> metadata, Map<String, String> requestParameters,
                                                                     XMLBuilder builder) throws ServiceException {
         try {
             if(metadata == null) {
                 metadata = new HashMap<String, Object>();
             }
             if(!metadata.containsKey("content-type")) {
                 metadata.put("Content-Type", "text/plain");
             }
             String xml = builder.asString(null);
             return performRestPut(bucketName, objectKey, metadata, requestParameters,
-                    new StringEntity(xml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)), true);
+                    getDefaultTextStringEntry(xml), true);
         }
         catch(TransformerException e) {
             throw new ServiceException("Failed to PUT request containing an XML document", e);
         }
     }
 
@@ -1276,13 +1288,13 @@
             }
             if(!metadata.containsKey("content-type")) {
                 metadata.put("Content-Type", "text/plain");
             }
             String xml = builder.asString(null);
             return performRestPost(bucketName, objectKey, metadata, requestParameters,
-                    new StringEntity(xml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)), false);
+                    getDefaultTextStringEntry(xml), false);
         }
         catch(Exception e) {
             if(e instanceof ServiceException) {
                 throw (ServiceException) e;
             }
             else {
@@ -1716,14 +1728,13 @@
         Map<String, Object> metadata = new HashMap<String, Object>();
         metadata.put("Content-Type", "text/plain");
 
         String aclAsXml = acl.toXml();
         metadata.put("Content-Length", String.valueOf(aclAsXml.length()));
         performRestPut(bucketName, objectKey, metadata, requestParameters,
-                new StringEntity(aclAsXml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)),
-                true);
+               getDefaultTextStringEntry(aclAsXml), true);
     }
 
     @Override
     protected StorageBucket createBucketImpl(String bucketName, String location,
                                              AccessControlList acl, Map<String, Object> headers)
             throws ServiceException {
@@ -1738,13 +1749,13 @@
         if(location != null && !"US".equalsIgnoreCase(location)) {
             metadata.put("Content-Type", "text/xml");
             try {
                 CreateBucketConfiguration config = new CreateBucketConfiguration(location);
                 String configXml = config.toXml();
                 metadata.put("Content-Length", String.valueOf(configXml.length()));
-                requestEntity = new StringEntity(configXml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING));
+                requestEntity = getDefaultTextStringEntry(configXml);
             }
             catch(ParserConfigurationException e) {
                 throw new ServiceException("Unable to encode CreateBucketConfiguration XML document", e);
             }
             catch(TransformerException e) {
                 throw new ServiceException("Unable to encode CreateBucketConfiguration XML document", e);
@@ -1826,14 +1837,13 @@
         }
         catch(Exception e) {
             throw new ServiceException("Unable to generate LoggingStatus XML document", e);
         }
         try {
             performRestPut(bucketName, null, metadata, requestParameters,
-                    new StringEntity(statusAsXml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)),
-                    true);
+                    getDefaultTextStringEntry(statusAsXml), true);
         }
         catch(ServiceException se) {
             throw new ServiceException(se);
         }
     }
 
@@ -2470,14 +2480,13 @@
             String restHeaderAclValue = acl.getValueForRESTHeaderACL();
             if(restHeaderAclValue != null) {
                 putMethod.addHeader(this.getRestHeaderPrefix() + "acl", restHeaderAclValue);
             }
             else {
                 String aclAsXml = acl.toXml();
-                putMethod.setEntity(new StringEntity(
-                        aclAsXml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)));
+                putMethod.setEntity(getDefaultTextStringEntry( aclAsXml));
             }
         }
 
         HttpResponse httpResponse = performRequest(putMethod, new int[]{200});
 
         // Consume response data and release connection.
@@ -2552,18 +2561,17 @@
         }
         catch(Exception e) {
             throw new ServiceException("Unable to build WebsiteConfig XML document", e);
         }
 
         performRestPut(bucketName, null, metadata, requestParameters,
-                new StringEntity(xml, ContentType.create("text/plain", Constants.DEFAULT_ENCODING)),
-                true);
+                getDefaultTextStringEntry(xml), true);
     }
 
     protected void deleteWebsiteConfigImpl(String bucketName)
             throws ServiceException {
         Map<String, String> requestParameters = new HashMap<String, String>();
         requestParameters.put(this.isTargettingGoogleStorageService() ? "websiteConfig" : "website", "");
         performRestDelete(bucketName, null, requestParameters, null, null);
     }
 
 }
