You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by bi...@apache.org on 2020/04/14 20:03:07 UTC

[axis-axis2-java-core] 01/15: [maven-release-plugin] copy for branch AXIS2-4318

This is an automated email from the ASF dual-hosted git repository.

billblough pushed a commit to branch AXIS2-4318
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git

commit 130131b465bb5331c9d78503a207ecb31c7473e6
Author: Sagara Gunathunga <sa...@apache.org>
AuthorDate: Thu Jan 12 05:54:47 2012 +0000

    [maven-release-plugin]  copy for branch AXIS2-4318
---
 modules/adb-codegen/pom.xml                        |   6 +-
 modules/adb/pom.xml                                |   6 +-
 modules/addressing/pom.xml                         |   6 +-
 modules/clustering/pom.xml                         |   6 +-
 modules/codegen/pom.xml                            |   6 +-
 modules/corba/pom.xml                              |   6 +-
 modules/fastinfoset/pom.xml                        |   6 +-
 modules/integration/pom.xml                        |   6 +-
 modules/java2wsdl/pom.xml                          |   6 +-
 modules/jaxbri/pom.xml                             |   6 +-
 modules/jaxws-integration/pom.xml                  |   6 +-
 modules/jaxws-mar/pom.xml                          |   6 +-
 modules/jaxws/pom.xml                              |   6 +-
 .../controller/impl/AxisInvocationController.java  |  29 +-
 modules/jibx/pom.xml                               |   6 +-
 modules/json/pom.xml                               |   6 +-
 modules/kernel/pom.xml                             |   6 +-
 modules/metadata/pom.xml                           |   6 +-
 modules/mex/pom.xml                                |   6 +-
 modules/mtompolicy-mar/pom.xml                     |   6 +-
 modules/mtompolicy/pom.xml                         |   6 +-
 modules/osgi/pom.xml                               |   7 +-
 modules/parent/pom.xml                             |   6 +-
 modules/ping/pom.xml                               |   6 +-
 modules/resource-bundle/pom.xml                    |   6 +-
 modules/saaj/pom.xml                               |   6 +-
 modules/samples/version/pom.xml                    |   6 +-
 modules/scripting/pom.xml                          |   6 +-
 modules/soapmonitor/module/pom.xml                 |   6 +-
 modules/soapmonitor/servlet/pom.xml                |   6 +-
 modules/spring/pom.xml                             |   6 +-
 modules/testutils/pom.xml                          |   6 +-
 modules/tool/archetype/quickstart-webapp/pom.xml   |   3 +-
 modules/tool/archetype/quickstart/pom.xml          |   3 +-
 modules/tool/axis2-aar-maven-plugin/pom.xml        |   6 +-
 modules/tool/axis2-ant-plugin/pom.xml              |   6 +-
 modules/tool/axis2-eclipse-codegen-plugin/pom.xml  |   6 +-
 modules/tool/axis2-eclipse-service-plugin/pom.xml  |   6 +-
 modules/tool/axis2-idea-plugin/pom.xml             |   6 +-
 modules/tool/axis2-java2wsdl-maven-plugin/pom.xml  |   6 +-
 modules/tool/axis2-mar-maven-plugin/pom.xml        |   6 +-
 modules/tool/axis2-repo-maven-plugin/pom.xml       |   6 +-
 modules/tool/axis2-wsdl2code-maven-plugin/pom.xml  |   6 +-
 modules/tool/simple-server-maven-plugin/pom.xml    |   9 +-
 modules/transport/http/pom.xml                     |  17 +-
 .../axis2/transport/http/AbstractHTTPSender.java   | 689 +--------------------
 .../axis2/transport/http/AxisRequestEntity.java    |  15 +-
 .../apache/axis2/transport/http/AxisServlet.java   |  20 +-
 .../transport/http/CommonsHTTPTransportSender.java |  39 +-
 .../transport/http/CommonsTransportHeaders.java    |  30 +-
 .../apache/axis2/transport/http/HTTPSender.java    | 281 ++-------
 .../transport/http/HttpTransportProperties.java    | 136 +---
 .../axis2/transport/http/RESTRequestEntity.java    |  62 +-
 .../axis2/transport/http/RESTRequestEntity2.java   |  20 +-
 .../http/util/HTTPProxyConfigurationUtil.java      |   1 +
 .../CommonsHTTPTransportSenderClientSideTest.java  |   3 +-
 .../http/CommonsHTTPTransportSenderTest.java       |  17 +-
 .../axis2/transport/http/HTTPSenderTest.java       |   8 +-
 modules/transport/local/pom.xml                    |   6 +-
 modules/webapp/pom.xml                             |   6 +-
 modules/xmlbeans/pom.xml                           |   6 +-
 pom.xml                                            |   6 +-
 62 files changed, 408 insertions(+), 1239 deletions(-)

diff --git a/modules/adb-codegen/pom.xml b/modules/adb-codegen/pom.xml
index e97cd53..21ff501 100644
--- a/modules/adb-codegen/pom.xml
+++ b/modules/adb-codegen/pom.xml
@@ -62,9 +62,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/adb-codegen</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/adb-codegen</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/adb-codegen</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/adb-codegen</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/adb-codegen</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/adb/pom.xml b/modules/adb/pom.xml
index 51abb95..8c98adc 100644
--- a/modules/adb/pom.xml
+++ b/modules/adb/pom.xml
@@ -33,9 +33,9 @@
     <description>Axis2 Data Binding module</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/adb</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/adb</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/adb</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/adb</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/adb</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/addressing/pom.xml b/modules/addressing/pom.xml
index de5b112..fddb1dd 100644
--- a/modules/addressing/pom.xml
+++ b/modules/addressing/pom.xml
@@ -45,9 +45,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/addressing</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/addressing</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/addressing</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/addressing</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/addressing</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/addressing</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/clustering/pom.xml b/modules/clustering/pom.xml
index 4841857..835ded5 100644
--- a/modules/clustering/pom.xml
+++ b/modules/clustering/pom.xml
@@ -65,9 +65,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/clustering</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/clustering</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/clustering</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/clustering</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/clustering</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/clustering</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/codegen/pom.xml b/modules/codegen/pom.xml
index 530eda2..ebdf3af 100644
--- a/modules/codegen/pom.xml
+++ b/modules/codegen/pom.xml
@@ -80,9 +80,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/codegen</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/codegen</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/codegen</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/codegen</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/codegen</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/codegen</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/corba/pom.xml b/modules/corba/pom.xml
index e078b37..6dd0e0a 100644
--- a/modules/corba/pom.xml
+++ b/modules/corba/pom.xml
@@ -58,9 +58,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/corba</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/corba</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/corba</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/corba</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/corba</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/corba</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/fastinfoset/pom.xml b/modules/fastinfoset/pom.xml
index a19d773..f87f307 100644
--- a/modules/fastinfoset/pom.xml
+++ b/modules/fastinfoset/pom.xml
@@ -107,9 +107,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/fastinfoset</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/fastinfoset</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/fastinfoset</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/fastinfoset</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/fastinfoset</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/fastinfoset</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/integration/pom.xml b/modules/integration/pom.xml
index a1b6782..e532bc5 100644
--- a/modules/integration/pom.xml
+++ b/modules/integration/pom.xml
@@ -286,9 +286,9 @@
     </profiles>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/integration</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/integration</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/integration</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/integration</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/integration</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/integration</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/java2wsdl/pom.xml b/modules/java2wsdl/pom.xml
index 2cdda07..7e34442 100644
--- a/modules/java2wsdl/pom.xml
+++ b/modules/java2wsdl/pom.xml
@@ -104,9 +104,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/java2wsdl</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/java2wsdl</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/java2wsdl</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/java2wsdl</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/java2wsdl</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/java2wsdl</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/jaxbri/pom.xml b/modules/jaxbri/pom.xml
index 72d0f16..5b561d8 100644
--- a/modules/jaxbri/pom.xml
+++ b/modules/jaxbri/pom.xml
@@ -66,9 +66,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxbri</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxbri</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxbri</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxbri</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxbri</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxbri</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/jaxws-integration/pom.xml b/modules/jaxws-integration/pom.xml
index f3ba3ee..362e412 100644
--- a/modules/jaxws-integration/pom.xml
+++ b/modules/jaxws-integration/pom.xml
@@ -94,9 +94,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-integration</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-integration</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-integration</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-integration</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-integration</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/jaxws-mar/pom.xml b/modules/jaxws-mar/pom.xml
index 2803d22..7b791fa 100644
--- a/modules/jaxws-mar/pom.xml
+++ b/modules/jaxws-mar/pom.xml
@@ -42,9 +42,9 @@
 
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-mar</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-mar</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-mar</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-mar</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-mar</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws-mar</url>
     </scm>
     
     <build>
diff --git a/modules/jaxws/pom.xml b/modules/jaxws/pom.xml
index 145c951..702652b 100644
--- a/modules/jaxws/pom.xml
+++ b/modules/jaxws/pom.xml
@@ -113,9 +113,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/jaxws</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java b/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java
index d0ba927..3fce897 100644
--- a/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java
+++ b/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java
@@ -47,7 +47,9 @@ import org.apache.axis2.jaxws.message.util.MessageUtils;
 import org.apache.axis2.jaxws.registry.FactoryRegistry;
 import org.apache.axis2.jaxws.util.Constants;
 import org.apache.axis2.jaxws.utility.ClassUtils;
+import org.apache.axis2.transport.http.HTTPAuthenticator;
 import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.axis2.transport.http.HTTPTransportConstants;
 import org.apache.axis2.transport.http.HttpTransportProperties;
 import org.apache.axis2.util.ThreadContextMigratorUtil;
 import org.apache.axis2.wsdl.WSDLConstants;
@@ -521,9 +523,22 @@ public class AxisInvocationController extends InvocationControllerImpl {
             catch (MalformedURLException e) {
                 throw ExceptionFactory.makeWebServiceException(e);
             }
+            
+            /*
+             * Check HTTPClient version to set HTTPAuthenticator. By default it
+             * use HTTPClient 3.x
+             */
+            HTTPAuthenticator basicAuthentication;
+            System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx");
+            String httpClientVersion = getHTTPClientVersion(mc.getAxisMessageContext());
+            if (httpClientVersion != null
+                    && HTTPTransportConstants.HTTP_CLIENT_4_X_VERSION.equals(httpClientVersion)) {
+                basicAuthentication = new org.apache.axis2.transport.http.impl.httpclient4.HttpTransportPropertiesImpl.Authenticator();
 
-            HttpTransportProperties.Authenticator basicAuthentication =
-                    new HttpTransportProperties.Authenticator();
+            } else {
+                basicAuthentication = new org.apache.axis2.transport.http.impl.httpclient3.HttpTransportPropertiesImpl.Authenticator();
+
+            }             
             basicAuthentication.setUsername(userId);
             basicAuthentication.setPassword(password);
             basicAuthentication.setHost(url.getHost());
@@ -693,5 +708,15 @@ public class AxisInvocationController extends InvocationControllerImpl {
         }
         return soapFaultDisabled;
     }
+    
+    private String getHTTPClientVersion(org.apache.axis2.context.MessageContext msgCtx) {
+        /*
+         * TODO - 
+         *  1.) Need to read HTTPClient version property value from ConfigurationContext.
+         *  2.) pre-condition, Have to set above value to ConfigurationContext
+         * 
+         */      
+        return null;
+    }
 
 }
diff --git a/modules/jibx/pom.xml b/modules/jibx/pom.xml
index 66e6c34..11ea548 100644
--- a/modules/jibx/pom.xml
+++ b/modules/jibx/pom.xml
@@ -69,9 +69,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jibx</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jibx</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jibx</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jibx</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/jibx</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/jibx</url>
     </scm>
     <build>
         <resources>
diff --git a/modules/json/pom.xml b/modules/json/pom.xml
index de60d59..c44dace 100644
--- a/modules/json/pom.xml
+++ b/modules/json/pom.xml
@@ -58,9 +58,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/json</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/json</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/json</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/json</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/json</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/json</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/kernel/pom.xml b/modules/kernel/pom.xml
index cd98c94..445d7ce 100644
--- a/modules/kernel/pom.xml
+++ b/modules/kernel/pom.xml
@@ -96,9 +96,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/kernel</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/kernel</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/kernel</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/kernel</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/kernel</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/metadata/pom.xml b/modules/metadata/pom.xml
index 9f65c9c..99fd4f3 100755
--- a/modules/metadata/pom.xml
+++ b/modules/metadata/pom.xml
@@ -121,9 +121,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/metadata</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/metadata</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/metadata</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/metadata</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/metadata</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/mex/pom.xml b/modules/mex/pom.xml
index fc2f8ef..6b22743 100644
--- a/modules/mex/pom.xml
+++ b/modules/mex/pom.xml
@@ -40,9 +40,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mex</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mex</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/mex</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mex</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mex</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/mex</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/mtompolicy-mar/pom.xml b/modules/mtompolicy-mar/pom.xml
index 8e0cca9..faff4e2 100644
--- a/modules/mtompolicy-mar/pom.xml
+++ b/modules/mtompolicy-mar/pom.xml
@@ -49,9 +49,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mtompolicy-mar</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mtompolicy-mar</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/mtompolicy-mar</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy-mar</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy-mar</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy-mar</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/mtompolicy/pom.xml b/modules/mtompolicy/pom.xml
index 6c8cf42..9efc933 100644
--- a/modules/mtompolicy/pom.xml
+++ b/modules/mtompolicy/pom.xml
@@ -43,9 +43,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mtompolicy</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/mtompolicy</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/mtompolicy</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/mtompolicy</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/osgi/pom.xml b/modules/osgi/pom.xml
index b3affd9..418bd77 100644
--- a/modules/osgi/pom.xml
+++ b/modules/osgi/pom.xml
@@ -35,9 +35,9 @@
     <description>Apache Axis2 OSGi Integration</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/osgi</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/osgi</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/osgi</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/osgi</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/osgi</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/osgi</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
@@ -117,6 +117,7 @@
                             org.apache.axiom.*,
                             org.apache.commons.fileupload.*,
                             org.apache.commons.httpclient.*,
+                            org.apache.http.auth.*;resolution:=optional,
                             org.apache.commons.lang;resolution:=optional,
                             org.apache.commons.logging,
                             org.apache.http;resolution:=optional,
diff --git a/modules/parent/pom.xml b/modules/parent/pom.xml
index c523281..57ab0ac 100644
--- a/modules/parent/pom.xml
+++ b/modules/parent/pom.xml
@@ -998,9 +998,9 @@
         </profile>
     </profiles>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/parent</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/parent</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/parent</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/parent</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/parent</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/parent</url>
     </scm>
     <build>
         <pluginManagement>
diff --git a/modules/ping/pom.xml b/modules/ping/pom.xml
index f8a12fd..e9945d7 100644
--- a/modules/ping/pom.xml
+++ b/modules/ping/pom.xml
@@ -40,9 +40,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/ping</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/ping</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/ping</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/ping</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/ping</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/ping</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/resource-bundle/pom.xml b/modules/resource-bundle/pom.xml
index f97a91f..d27372a 100644
--- a/modules/resource-bundle/pom.xml
+++ b/modules/resource-bundle/pom.xml
@@ -32,9 +32,9 @@
     <description>Contains the legal files that must be included in all artifacts</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/resource-bundle</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/resource-bundle</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/resource-bundle</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/resource-bundle</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/resource-bundle</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/resource-bundle</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/saaj/pom.xml b/modules/saaj/pom.xml
index b7188cf..86945a3 100644
--- a/modules/saaj/pom.xml
+++ b/modules/saaj/pom.xml
@@ -32,9 +32,9 @@
     <description>Axis2 SAAJ implementation</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/saaj</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/saaj</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/saaj</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/saaj</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/saaj</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/samples/version/pom.xml b/modules/samples/version/pom.xml
index daa3e6b..1c08a33 100644
--- a/modules/samples/version/pom.xml
+++ b/modules/samples/version/pom.xml
@@ -30,9 +30,9 @@
     <name>Apache Axis2 - Version Service</name>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/samples/version</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/samples/version</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/version</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/samples/version</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/samples/version</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/samples/version</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/scripting/pom.xml b/modules/scripting/pom.xml
index 385350b..d155702 100644
--- a/modules/scripting/pom.xml
+++ b/modules/scripting/pom.xml
@@ -52,9 +52,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/scripting</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/scripting</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/scripting</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/scripting</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/scripting</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/scripting</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/soapmonitor/module/pom.xml b/modules/soapmonitor/module/pom.xml
index 75a97e4..dcf8ddd 100644
--- a/modules/soapmonitor/module/pom.xml
+++ b/modules/soapmonitor/module/pom.xml
@@ -45,9 +45,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/soapmonitor/module</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/soapmonitor/module</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/soapmonitor/module</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/module</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/module</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/module</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/soapmonitor/servlet/pom.xml b/modules/soapmonitor/servlet/pom.xml
index 332cec3..148a170 100644
--- a/modules/soapmonitor/servlet/pom.xml
+++ b/modules/soapmonitor/servlet/pom.xml
@@ -43,9 +43,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/soapmonitor/servlet</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/soapmonitor/servlet</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/soapmonitor/servlet</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/servlet</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/servlet</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/soapmonitor/servlet</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index c0d7802..a06fda2 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -55,9 +55,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/spring</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/spring</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/spring</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/spring</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/spring</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/spring</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/testutils/pom.xml b/modules/testutils/pom.xml
index f69a14b..352646e 100644
--- a/modules/testutils/pom.xml
+++ b/modules/testutils/pom.xml
@@ -37,9 +37,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/testutils</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/testutils</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/testutils</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/testutils</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/testutils</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/testutils</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/tool/archetype/quickstart-webapp/pom.xml b/modules/tool/archetype/quickstart-webapp/pom.xml
index 056acfd..38e8abb 100644
--- a/modules/tool/archetype/quickstart-webapp/pom.xml
+++ b/modules/tool/archetype/quickstart-webapp/pom.xml
@@ -19,8 +19,7 @@
   ~ under the License.
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.apache.axis2</groupId>
diff --git a/modules/tool/archetype/quickstart/pom.xml b/modules/tool/archetype/quickstart/pom.xml
index f1776e9..8dc9a56 100644
--- a/modules/tool/archetype/quickstart/pom.xml
+++ b/modules/tool/archetype/quickstart/pom.xml
@@ -19,8 +19,7 @@
   ~ under the License.
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.apache.axis2</groupId>
diff --git a/modules/tool/axis2-aar-maven-plugin/pom.xml b/modules/tool/axis2-aar-maven-plugin/pom.xml
index a1c7e72..5093c08 100644
--- a/modules/tool/axis2-aar-maven-plugin/pom.xml
+++ b/modules/tool/axis2-aar-maven-plugin/pom.xml
@@ -67,9 +67,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-aar-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-aar-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-aar-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-aar-maven-plugin</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/tool/axis2-ant-plugin/pom.xml b/modules/tool/axis2-ant-plugin/pom.xml
index 83a226a..24c7cb9 100644
--- a/modules/tool/axis2-ant-plugin/pom.xml
+++ b/modules/tool/axis2-ant-plugin/pom.xml
@@ -32,9 +32,9 @@
     <description>The Axis 2 Plugin for Ant Tasks.</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-ant-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-ant-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-ant-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-ant-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-ant-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-ant-plugin</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/tool/axis2-eclipse-codegen-plugin/pom.xml b/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
index 0137a8e..8f6ad0b 100644
--- a/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
+++ b/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
@@ -33,9 +33,9 @@
     <description>The Axis 2 Eclipse Codegen Plugin for wsdl2java and java2wsdl</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-codegen-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-codegen-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-codegen-plugin</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/tool/axis2-eclipse-service-plugin/pom.xml b/modules/tool/axis2-eclipse-service-plugin/pom.xml
index ea83934..f38f493 100644
--- a/modules/tool/axis2-eclipse-service-plugin/pom.xml
+++ b/modules/tool/axis2-eclipse-service-plugin/pom.xml
@@ -33,9 +33,9 @@
     <description>The Axis 2 Eclipse Service Plugin for Service archive creation</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-service-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-service-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-service-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-service-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-service-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-eclipse-service-plugin</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/tool/axis2-idea-plugin/pom.xml b/modules/tool/axis2-idea-plugin/pom.xml
index 57e80ff..1ae7f6f 100644
--- a/modules/tool/axis2-idea-plugin/pom.xml
+++ b/modules/tool/axis2-idea-plugin/pom.xml
@@ -34,9 +34,9 @@
     </description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-idea-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-idea-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-idea-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-idea-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-idea-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-idea-plugin</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/tool/axis2-java2wsdl-maven-plugin/pom.xml b/modules/tool/axis2-java2wsdl-maven-plugin/pom.xml
index 1477a63..e535c13 100644
--- a/modules/tool/axis2-java2wsdl-maven-plugin/pom.xml
+++ b/modules/tool/axis2-java2wsdl-maven-plugin/pom.xml
@@ -35,9 +35,9 @@
     <packaging>maven-plugin</packaging>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-java2wsdl-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-java2wsdl-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-java2wsdl-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-java2wsdl-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-java2wsdl-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-java2wsdl-maven-plugin</url>
     </scm>
     <build>
         <sourceDirectory>src/main/java</sourceDirectory>
diff --git a/modules/tool/axis2-mar-maven-plugin/pom.xml b/modules/tool/axis2-mar-maven-plugin/pom.xml
index 0629980..706ec7b 100644
--- a/modules/tool/axis2-mar-maven-plugin/pom.xml
+++ b/modules/tool/axis2-mar-maven-plugin/pom.xml
@@ -68,9 +68,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-mar-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-mar-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-mar-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-mar-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-mar-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-mar-maven-plugin</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/tool/axis2-repo-maven-plugin/pom.xml b/modules/tool/axis2-repo-maven-plugin/pom.xml
index cad455a..db7b83b 100644
--- a/modules/tool/axis2-repo-maven-plugin/pom.xml
+++ b/modules/tool/axis2-repo-maven-plugin/pom.xml
@@ -48,9 +48,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-repo-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-repo-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-repo-maven-plugin</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml b/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
index df0b76e..091ab99 100644
--- a/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
+++ b/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
@@ -33,9 +33,9 @@
     <description>The Axis 2 Plugin for Maven allows client side and server side sources from a WSDL.</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-wsdl2code-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/axis2-wsdl2code-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-wsdl2code-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-wsdl2code-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-wsdl2code-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/axis2-wsdl2code-maven-plugin</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/tool/simple-server-maven-plugin/pom.xml b/modules/tool/simple-server-maven-plugin/pom.xml
index 302a9c0..6f8a9fe 100644
--- a/modules/tool/simple-server-maven-plugin/pom.xml
+++ b/modules/tool/simple-server-maven-plugin/pom.xml
@@ -19,8 +19,7 @@
   ~ under the License.
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.axis2</groupId>
@@ -34,9 +33,9 @@
     <description>The Axis2 Plugin for Maven that allows to run simple HTTP server.</description>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/simple-server-maven-plugin</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/tool/simple-server-maven-plugin</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/simple-server-maven-plugin</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/simple-server-maven-plugin</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/simple-server-maven-plugin</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/tool/simple-server-maven-plugin</url>
     </scm>
     <build>
         <plugins>
diff --git a/modules/transport/http/pom.xml b/modules/transport/http/pom.xml
index 6d1cfde..b090c2e 100644
--- a/modules/transport/http/pom.xml
+++ b/modules/transport/http/pom.xml
@@ -33,9 +33,9 @@
     <packaging>bundle</packaging>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/http</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/http</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/http</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/http</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/http</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
@@ -109,5 +109,16 @@
             <groupId>commons-httpclient</groupId>
             <artifactId>commons-httpclient</artifactId>
         </dependency>
+	<dependency>
+		<groupId>org.apache.httpcomponents</groupId>
+		<artifactId>httpclient</artifactId>
+		<version>4.1.2</version>
+<!-- 		<exclusions> -->
+<!-- 			<exclusion> -->
+<!-- 				<groupId>org.apache.httpcomponents</groupId> -->
+<!-- 				<artifactId>httpcore</artifactId> -->
+<!-- 			</exclusion> -->
+<!-- 		</exclusions> -->
+	</dependency>
     </dependencies>
 </project>
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
index f02875a..09bd9c2 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
@@ -19,65 +19,27 @@
 
 package org.apache.axis2.transport.http;
 
-import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
+
+import java.io.IOException;
+import java.net.URL;
+
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.NamedValue;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.description.TransportOutDescription;
-import org.apache.axis2.i18n.Messages;
-import org.apache.axis2.transport.MessageFormatter;
-import org.apache.axis2.transport.TransportUtils;
-import org.apache.axis2.transport.http.util.HTTPProxyConfigurationUtil;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.commons.httpclient.Credentials;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HeaderElement;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.HttpVersion;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.NTCredentials;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.auth.AuthPolicy;
-import org.apache.commons.httpclient.auth.AuthScope;
-import org.apache.commons.httpclient.params.HttpMethodParams;
-import org.apache.commons.httpclient.protocol.Protocol;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.http.protocol.HTTP;
 
-import javax.xml.namespace.QName;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.GZIPInputStream;
+
+
 
 public abstract class AbstractHTTPSender {
-    protected static final String ANONYMOUS = "anonymous";
-    protected static final String PROXY_HOST_NAME = "proxy_host";
-    protected static final String PROXY_PORT = "proxy_port";
+    
     protected boolean chunked = false;
     protected String httpVersion = HTTPConstants.HEADER_PROTOCOL_11;
-    private static final Log log = LogFactory.getLog(AbstractHTTPSender.class);
-
-    protected static final String PROTOCOL_HTTP = "http";
-    protected static final String PROTOCOL_HTTPS = "https";
+    
+    private static final Log log = LogFactory.getLog(AbstractHTTPSender.class);   
 
     /**
      * proxydiscription
@@ -109,638 +71,13 @@ public abstract class AbstractHTTPSender {
                                 + " Can have values only HTTP/1.0 or HTTP/1.1");
             }
         }
-    }
-
-    /**
-     * Collect the HTTP header information and set them in the message context
-     *
-     * @param method HttpMethodBase from which to get information
-     * @param msgContext the MessageContext in which to place the information... OR NOT!
-     * @throws AxisFault if problems occur
-     */
-    protected void obtainHTTPHeaderInformation(HttpMethodBase method,
-                                               MessageContext msgContext) throws AxisFault {
-        // Set RESPONSE properties onto the REQUEST message context.  They will need to be copied off the request context onto
-        // the response context elsewhere, for example in the OutInOperationClient.
-        Map transportHeaders = new CommonsTransportHeaders(method.getResponseHeaders());
-        msgContext.setProperty(MessageContext.TRANSPORT_HEADERS, transportHeaders);
-        msgContext.setProperty(HTTPConstants.MC_HTTP_STATUS_CODE, new Integer(method.getStatusCode()));
-        Header header = method.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-
-        if (header != null) {
-            HeaderElement[] headers = header.getElements();
-            MessageContext inMessageContext = msgContext.getOperationContext().getMessageContext(
-                    WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-
-            Object contentType = header.getValue();
-            Object charSetEnc = null;
-
-            for (int i = 0; i < headers.length; i++) {
-                NameValuePair charsetEnc = headers[i].getParameterByName(
-                        HTTPConstants.CHAR_SET_ENCODING);
-                if (charsetEnc != null) {
-                    charSetEnc = charsetEnc.getValue();
-                }
-            }
-
-            if (inMessageContext != null) {
-                inMessageContext
-                        .setProperty(Constants.Configuration.CONTENT_TYPE, contentType);
-                inMessageContext
-                        .setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEnc);
-            } else {
-
-                // Transport details will be stored in a HashMap so that anybody interested can
-                // retrieve them
-                HashMap transportInfoMap = new HashMap();
-                transportInfoMap.put(Constants.Configuration.CONTENT_TYPE, contentType);
-                transportInfoMap.put(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEnc);
-
-                //the HashMap is stored in the outgoing message.
-                msgContext.setProperty(Constants.Configuration.TRANSPORT_INFO_MAP,
-                                       transportInfoMap);
-            }
-        }
-
-        String sessionCookie = null;
-        // Process old style headers first
-        Header[] cookieHeaders = method.getResponseHeaders(HTTPConstants.HEADER_SET_COOKIE);
-        String customCoookiId = (String) msgContext.getProperty(Constants.CUSTOM_COOKIE_ID);
-        for (int i = 0; i < cookieHeaders.length; i++) {
-            HeaderElement[] elements = cookieHeaders[i].getElements();
-            for (int e = 0; e < elements.length; e++) {
-                HeaderElement element = elements[e];
-                if (Constants.SESSION_COOKIE.equalsIgnoreCase(element.getName()) ||
-                        Constants.SESSION_COOKIE_JSESSIONID.equalsIgnoreCase(element.getName())) {
-                    sessionCookie = processCookieHeader(element);
-                }
-                if (customCoookiId != null && customCoookiId.equalsIgnoreCase(element.getName())) {
-                    sessionCookie = processCookieHeader(element);
-                }
-            }
-        }
-        // Overwrite old style cookies with new style ones if present
-        cookieHeaders = method.getResponseHeaders(HTTPConstants.HEADER_SET_COOKIE2);
-        for (int i = 0; i < cookieHeaders.length; i++) {
-            HeaderElement[] elements = cookieHeaders[i].getElements();
-            for (int e = 0; e < elements.length; e++) {
-                HeaderElement element = elements[e];
-                if (Constants.SESSION_COOKIE.equalsIgnoreCase(element.getName()) ||
-                        Constants.SESSION_COOKIE_JSESSIONID.equalsIgnoreCase(element.getName())) {
-                    sessionCookie = processCookieHeader(element);
-                }
-                if(customCoookiId!=null&&customCoookiId.equalsIgnoreCase(element.getName())){
-                    sessionCookie = processCookieHeader(element);
-                }
-            }
-        }
-
-        if (sessionCookie != null) {
-            msgContext.getServiceContext().setProperty(HTTPConstants.COOKIE_STRING, sessionCookie);
-        }
-    }
-
-    private String processCookieHeader(HeaderElement element) {
-        String cookie = element.getName() + "=" + element.getValue();
-        NameValuePair[] parameters =  element.getParameters();
-        for (int j = 0; parameters != null && j < parameters.length; j++) {
-            NameValuePair parameter = parameters[j];
-            cookie = cookie + "; " + parameter.getName() + "=" + parameter.getValue();
-        }
-        return cookie;
-    }
-
-    protected void processResponse(HttpMethodBase httpMethod,
-                                   MessageContext msgContext)
-            throws IOException {
-        obtainHTTPHeaderInformation(httpMethod, msgContext);
-
-        InputStream in = httpMethod.getResponseBodyAsStream();
-        if (in == null) {
-            throw new AxisFault(Messages.getMessage("canNotBeNull", "InputStream"));
-        }
-        Header contentEncoding =
-                httpMethod.getResponseHeader(HTTPConstants.HEADER_CONTENT_ENCODING);
-        if (contentEncoding != null) {
-            if (contentEncoding.getValue().
-                    equalsIgnoreCase(HTTPConstants.COMPRESSION_GZIP)) {
-                in = new GZIPInputStream(in);
-                // If the content-encoding is identity we can basically ignore it.
-            } else if (!"identity".equalsIgnoreCase(contentEncoding.getValue())) {
-                throw new AxisFault("HTTP :" + "unsupported content-encoding of '"
-                        + contentEncoding.getValue() + "' found");
-            }
-        }
-
-        OperationContext opContext = msgContext.getOperationContext();
-        if (opContext != null) {
-            opContext.setProperty(MessageContext.TRANSPORT_IN, in);
-        }
-    }
+    }       
 
     public abstract void send(MessageContext msgContext, URL url, String soapActionString)
-            throws IOException;
-
-    /**
-     * getting host configuration to support standard http/s, proxy and NTLM support
-     *
-     * @param client active HttpClient
-     * @param msgCtx active MessageContext
-     * @param targetURL the target URL
-     * @return a HostConfiguration set up with proxy information
-     * @throws AxisFault if problems occur
-     */
-    protected HostConfiguration getHostConfiguration(HttpClient client,
-                                                     MessageContext msgCtx,
-                                                     URL targetURL)throws AxisFault {
-
-        boolean isAuthenticationEnabled = isAuthenticationEnabled(msgCtx);
-        int port = targetURL.getPort();
-
-        String protocol = targetURL.getProtocol();
-        if (port == -1) {
-            if (PROTOCOL_HTTP.equals(protocol)) {
-                port = 80;
-            } else if (PROTOCOL_HTTPS.equals(protocol)) {
-                port = 443;
-            }
-
-        }
-
-        // to see the host is a proxy and in the proxy list - available in axis2.xml
-        HostConfiguration config = new HostConfiguration();
-
-        // one might need to set his own socket factory. Let's allow that case as well.
-        Protocol protocolHandler =
-                (Protocol)msgCtx.getOptions().getProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER);
-
-        // setting the real host configuration
-        // I assume the 90% case, or even 99% case will be no protocol handler case.
-        if (protocolHandler == null) {
-            config.setHost(targetURL.getHost(), port, targetURL.getProtocol());
-        } else {
-            config.setHost(targetURL.getHost(), port, protocolHandler);
-        }
-
-        if (isAuthenticationEnabled) {
-            // Basic, Digest, NTLM and custom authentications.
-            this.setAuthenticationInfo(client, msgCtx, config);
-        }
-        // proxy configuration
-
-        if (HTTPProxyConfigurationUtil.isProxyEnabled(msgCtx, targetURL)) {
-            if(log.isDebugEnabled()){
-                log.debug("Configuring HTTP proxy.");
-            }
-            HTTPProxyConfigurationUtil.configure(msgCtx, client, config);
-        }
-
-        return config;
-    }
-
-    protected boolean isAuthenticationEnabled(MessageContext msgCtx) {
-        return (msgCtx.getProperty(HTTPConstants.AUTHENTICATE) != null);
-    }
-
-    /*
-    This will handle server Authentication, It could be either NTLM, Digest or Basic Authentication.
-    Apart from that user can change the priory or add a custom authentication scheme.
-    */
-    protected void setAuthenticationInfo(HttpClient agent,
-                                         MessageContext msgCtx,
-                                         HostConfiguration config) throws AxisFault {
-        HttpTransportProperties.Authenticator authenticator;
-        Object obj = msgCtx.getProperty(HTTPConstants.AUTHENTICATE);
-        if (obj != null) {
-            if (obj instanceof HttpTransportProperties.Authenticator) {
-                authenticator = (HttpTransportProperties.Authenticator) obj;
-
-                String username = authenticator.getUsername();
-                String password = authenticator.getPassword();
-                String host = authenticator.getHost();
-                String domain = authenticator.getDomain();
-
-                int port = authenticator.getPort();
-                String realm = authenticator.getRealm();
-
-                /* If retrying is available set it first */
-                isAllowedRetry = authenticator.isAllowedRetry();
-
-                Credentials creds;
-
-                HttpState tmpHttpState = null;
-                HttpState httpState = (HttpState)msgCtx.getProperty(HTTPConstants.CACHED_HTTP_STATE);
-                if (httpState != null) {
-                    tmpHttpState = httpState;
-                } else {
-                    tmpHttpState = agent.getState();
-                }
-                
-                agent.getParams()
-                        .setAuthenticationPreemptive(authenticator.getPreemptiveAuthentication());
-
-                if (host != null) {
-                    if (domain != null) {
-                        /*Credentials for NTLM Authentication*/
-                        creds = new NTCredentials(username, password, host, domain);
-                    } else {
-                        /*Credentials for Digest and Basic Authentication*/
-                        creds = new UsernamePasswordCredentials(username, password);
-                    }
-                    tmpHttpState.setCredentials(new AuthScope(host, port, realm), creds);
-                } else {
-                    if (domain != null) {
-                        /*Credentials for NTLM Authentication when host is ANY_HOST*/
-                        creds = new NTCredentials(username, password, AuthScope.ANY_HOST, domain);
-                        tmpHttpState.setCredentials(
-                                new AuthScope(AuthScope.ANY_HOST, port, realm), creds);
-                    } else {
-                        /*Credentials only for Digest and Basic Authentication*/
-                        creds = new UsernamePasswordCredentials(username, password);
-                        tmpHttpState.setCredentials(new AuthScope(AuthScope.ANY), creds);
-                    }
-                }
-                /* Customizing the priority Order */
-                List schemes = authenticator.getAuthSchemes();
-                if (schemes != null && schemes.size() > 0) {
-                    List authPrefs = new ArrayList(3);
-                    for (int i = 0; i < schemes.size(); i++) {
-                        if (schemes.get(i) instanceof AuthPolicy) {
-                            authPrefs.add(schemes.get(i));
-                            continue;
-                        }
-                        String scheme = (String) schemes.get(i);
-                        if (HttpTransportProperties.Authenticator.BASIC.equals(scheme)) {
-                            authPrefs.add(AuthPolicy.BASIC);
-                        } else if (HttpTransportProperties.Authenticator.NTLM.equals(scheme)) {
-                            authPrefs.add(AuthPolicy.NTLM);
-                        } else if (HttpTransportProperties.Authenticator.DIGEST.equals(scheme)) {
-                            authPrefs.add(AuthPolicy.DIGEST);
-                        }
-                    }
-                    agent.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY,
-                            authPrefs);
-                }
-
-            } else {
-                throw new AxisFault("HttpTransportProperties.Authenticator class cast exception");
-            }
-        }
-
-    }
-
-    /**
-     * Method used to copy all the common properties
-     *
-     * @param msgContext       - The messageContext of the request message
-     * @param url              - The target URL
-     * @param httpMethod       - The http method used to send the request
-     * @param httpClient       - The httpclient used to send the request
-     * @param soapActionString - The soap action atring of the request message
-     * @return MessageFormatter - The messageFormatter for the relavent request message
-     * @throws AxisFault - Thrown in case an exception occurs
-     */
-    protected MessageFormatter populateCommonProperties(MessageContext msgContext, URL url,
-                                                      HttpMethodBase httpMethod,
-                                                      HttpClient httpClient,
-                                                      String soapActionString)
-            throws AxisFault {
-
-        if (isAuthenticationEnabled(msgContext)) {
-            httpMethod.setDoAuthentication(true);
-        }
-
-        MessageFormatter messageFormatter = TransportUtils.getMessageFormatter(
-                msgContext);
-
-        url = messageFormatter.getTargetAddress(msgContext, format, url);
-
-        httpMethod.setPath(url.getPath());
-
-        httpMethod.setQueryString(url.getQuery());
-
-        httpMethod.setRequestHeader(HTTPConstants.HEADER_CONTENT_TYPE,
-                                    messageFormatter.getContentType(msgContext, format,
-                                                                    soapActionString));
-
-        httpMethod.setRequestHeader(HTTPConstants.HEADER_HOST, url.getHost());
-
-        if (msgContext.getOptions() != null && msgContext.getOptions().isManageSession()) {
-            // setting the cookie in the out path
-            Object cookieString = msgContext.getProperty(HTTPConstants.COOKIE_STRING);
-
-            if (cookieString != null) {
-                StringBuffer buffer = new StringBuffer();
-                buffer.append(cookieString);
-                httpMethod.setRequestHeader(HTTPConstants.HEADER_COOKIE, buffer.toString());
-            }
-        }
-
-        if (httpVersion.equals(HTTPConstants.HEADER_PROTOCOL_10)) {
-            httpClient.getParams().setVersion(HttpVersion.HTTP_1_0);
-        }
-        return messageFormatter;
-    }
-
-    /**
-     * This is used to get the dynamically set time out values from the
-     * message context. If the values are not available or invalid then
-     * the default values or the values set by the configuration will be used
-     *
-     * @param msgContext the active MessageContext
-     * @param httpClient
-     */
-    protected void initializeTimeouts(MessageContext msgContext, HttpClient httpClient) {
-        // If the SO_TIMEOUT of CONNECTION_TIMEOUT is set by dynamically the
-        // override the static config
-        Integer tempSoTimeoutProperty =
-                (Integer) msgContext.getProperty(HTTPConstants.SO_TIMEOUT);
-        Integer tempConnTimeoutProperty =
-                (Integer) msgContext
-                        .getProperty(HTTPConstants.CONNECTION_TIMEOUT);
-        long timeout = msgContext.getOptions().getTimeOutInMilliSeconds();
-
-        if (tempConnTimeoutProperty != null) {
-            int connectionTimeout = tempConnTimeoutProperty.intValue();
-            // timeout for initial connection
-            httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectionTimeout);
-        } else {
-            // set timeout in client
-            if (timeout > 0) {
-                httpClient.getHttpConnectionManager().getParams().setConnectionTimeout((int) timeout);
-            }
-        }
-
-        if (tempSoTimeoutProperty != null) {
-            int soTimeout = tempSoTimeoutProperty.intValue();
-            // SO_TIMEOUT -- timeout for blocking reads
-            httpClient.getHttpConnectionManager().getParams().setSoTimeout(soTimeout);
-            httpClient.getParams().setSoTimeout(soTimeout);
-        } else {
-            // set timeout in client
-            if (timeout > 0) {
-                httpClient.getHttpConnectionManager().getParams().setSoTimeout((int) timeout);
-                httpClient.getParams().setSoTimeout((int) timeout);
-            }
-        }
-    }
-
-    /**
-     * This is used to get the dynamically set time out values from the
-     * message context. If the values are not available or invalid then
-     * the default values or the values set by the configuration will be used
-     *
-     * @param msgContext the active MessageContext
-     * @param httpMethod method
-     */
-    protected void setTimeouts(MessageContext msgContext, HttpMethod httpMethod) {
-        // If the SO_TIMEOUT of CONNECTION_TIMEOUT is set by dynamically the
-        // override the static config
-        Integer tempSoTimeoutProperty =
-                (Integer) msgContext.getProperty(HTTPConstants.SO_TIMEOUT);
-        Integer tempConnTimeoutProperty =
-                (Integer) msgContext
-                        .getProperty(HTTPConstants.CONNECTION_TIMEOUT);
-        long timeout = msgContext.getOptions().getTimeOutInMilliSeconds();
-
-        if (tempConnTimeoutProperty != null) {
-            // timeout for initial connection
-            httpMethod.getParams().setParameter("http.connection.timeout",
-                    tempConnTimeoutProperty);
-        }
-
-        if (tempSoTimeoutProperty != null) {
-            // SO_TIMEOUT -- timeout for blocking reads
-            httpMethod.getParams().setSoTimeout(tempSoTimeoutProperty);
-        } else {
-            // set timeout in client
-            if (timeout > 0) {
-                httpMethod.getParams().setSoTimeout((int) timeout);
-            }
-        }
-    }
+            throws IOException;   
 
     public void setFormat(OMOutputFormat format) {
         this.format = format;
-    }
-
-    protected HttpClient getHttpClient(MessageContext msgContext) {
-        ConfigurationContext configContext = msgContext.getConfigurationContext();
-
-        HttpClient httpClient = (HttpClient) msgContext.getProperty(
-                HTTPConstants.CACHED_HTTP_CLIENT);
-
-        if (httpClient == null) {
-            httpClient = (HttpClient) configContext.getProperty(HTTPConstants.CACHED_HTTP_CLIENT);
-        }
-
-        if (httpClient != null) {
-            return httpClient;
-        }
-
-        synchronized (this) {
-            httpClient = (HttpClient) msgContext.getProperty(HTTPConstants.CACHED_HTTP_CLIENT);
-
-            if (httpClient == null) {
-                httpClient = (HttpClient) configContext.getProperty(
-                        HTTPConstants.CACHED_HTTP_CLIENT);
-            }
-
-            if (httpClient != null) {
-                return httpClient;
-            }
-
-            HttpConnectionManager connManager =
-                    (HttpConnectionManager) msgContext.getProperty(
-                            HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER);
-            if (connManager == null) {
-                connManager =
-                        (HttpConnectionManager) msgContext.getProperty(
-                                HTTPConstants.MUTTITHREAD_HTTP_CONNECTION_MANAGER);
-            }
-            if (connManager == null) {
-                // reuse HttpConnectionManager
-                synchronized (configContext) {
-                    connManager = (HttpConnectionManager) configContext.getProperty(
-                            HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER);
-                    if (connManager == null) {
-                        log.trace("Making new ConnectionManager");
-                        connManager = new MultiThreadedHttpConnectionManager();
-                        configContext.setProperty(
-                                HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER, connManager);
-                    }
-                }
-            }
-            /*
-             * Create a new instance of HttpClient since the way
-             * it is used here it's not fully thread-safe.
-             */
-            httpClient = new HttpClient(connManager);
-
-            // Set the default timeout in case we have a connection pool starvation to 30sec
-            httpClient.getParams().setConnectionManagerTimeout(30000);
-
-            // Get the timeout values set in the runtime
-            initializeTimeouts(msgContext, httpClient);
-
-            return httpClient;
-        }
-    }
-
-    protected void executeMethod(HttpClient httpClient, MessageContext msgContext, URL url,
-                                 HttpMethod method) throws IOException {
-        HostConfiguration config = this.getHostConfiguration(httpClient, msgContext, url);
-
-        // set the custom headers, if available
-        addCustomHeaders(method, msgContext);
-
-        // add compression headers if needed
-        if (msgContext.isPropertyTrue(HTTPConstants.MC_ACCEPT_GZIP)) {
-            method.addRequestHeader(HTTPConstants.HEADER_ACCEPT_ENCODING,
-                    HTTPConstants.COMPRESSION_GZIP);
-        }
-
-        if (msgContext.isPropertyTrue(HTTPConstants.MC_GZIP_REQUEST)) {
-            method.addRequestHeader(HTTPConstants.HEADER_CONTENT_ENCODING,
-                    HTTPConstants.COMPRESSION_GZIP);
-        }
-        
-        if (msgContext.getProperty(HTTPConstants.HTTP_METHOD_PARAMS) != null) {
-            HttpMethodParams params = (HttpMethodParams)msgContext
-                    .getProperty(HTTPConstants.HTTP_METHOD_PARAMS);
-            method.setParams(params);
-        }
-
-        String cookiePolicy = (String) msgContext.getProperty(HTTPConstants.COOKIE_POLICY);
-        if (cookiePolicy != null) {
-            method.getParams().setCookiePolicy(cookiePolicy);   
-        }
-        HttpState httpState = (HttpState)msgContext.getProperty(HTTPConstants.CACHED_HTTP_STATE);
-
-        setTimeouts(msgContext, method);
-
-        httpClient.executeMethod(config, method, httpState);
-    }
-
-    public void addCustomHeaders(HttpMethod method, MessageContext msgContext) {
-
-        boolean isCustomUserAgentSet = false;
-        // set the custom headers, if available
-        Object httpHeadersObj = msgContext.getProperty(HTTPConstants.HTTP_HEADERS);
-        if (httpHeadersObj != null) {
-            if (httpHeadersObj instanceof List) {
-                List httpHeaders = (List) httpHeadersObj;
-                for (int i = 0; i < httpHeaders.size(); i++) {
-                    NamedValue nv = (NamedValue) httpHeaders.get(i);
-                    if (nv != null) {
-                        Header header = new Header(nv.getName(), nv.getValue());
-                        if (HTTPConstants.HEADER_USER_AGENT.equals(header.getName())) {
-                            isCustomUserAgentSet = true;
-                        }
-                        method.addRequestHeader(header);
-                    }
-                }
-    
-            }
-            if (httpHeadersObj instanceof Map) {
-                Map httpHeaders = (Map) httpHeadersObj;
-                for (Iterator iterator = httpHeaders.entrySet().iterator(); iterator.hasNext();) {
-                    Map.Entry entry  = (Map.Entry) iterator.next();
-                    String key = (String) entry.getKey();
-                    String value = (String) entry.getValue();
-                    if (HTTPConstants.HEADER_USER_AGENT.equals(key)) {
-                        isCustomUserAgentSet = true;
-                    }
-                    method.addRequestHeader(key, value);
-                }
-            }
-        }
-
-        // we have to consider the TRANSPORT_HEADERS map as well
-        Map transportHeaders = (Map) msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
-        if (transportHeaders != null) {
-            removeUnwantedHeaders(msgContext);
-
-            Set headerEntries = transportHeaders.entrySet();
-
-            for (Object headerEntry : headerEntries) {
-                if (headerEntry instanceof Map.Entry) {
-                    Header[] headers = method.getRequestHeaders();
-
-                    boolean headerAdded = false;
-                    for (Header header : headers) {
-                        if (header.getName() != null &&                                 
-                                header.getName().equals(((Map.Entry) headerEntry).getKey())) {
-                            headerAdded = true;
-                            break;
-                        }
-                    }
-
-                    if (!headerAdded) {
-                        method.addRequestHeader(((Map.Entry) headerEntry).getKey().toString(),
-                                ((Map.Entry) headerEntry).getValue().toString());
-                    }
-                }
-            }
-        }
-
-        if (!isCustomUserAgentSet) {
-            String userAgentString = getUserAgent(msgContext);
-            method.setRequestHeader(HTTPConstants.HEADER_USER_AGENT, userAgentString);
-        }
-
-    }
-
-
-    /**
-     * Remove unwanted headers from the transport headers map of outgoing request. These are headers which
-     * should be dictated by the transport and not the user. We remove these as these may get
-     * copied from the request messages
-     *
-     * @param msgContext the Axis2 Message context from which these headers should be removed
-     */
-    private void removeUnwantedHeaders(MessageContext msgContext) {
-        Map headers = (Map) msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
-
-        if (headers == null || headers.isEmpty()) {
-            return;
-        }
-
-        Iterator iter = headers.keySet().iterator();
-        while (iter.hasNext()) {
-            String headerName = (String) iter.next();
-            if (HTTP.CONN_DIRECTIVE.equalsIgnoreCase(headerName) ||
-                HTTP.TRANSFER_ENCODING.equalsIgnoreCase(headerName) ||
-                HTTP.DATE_HEADER.equalsIgnoreCase(headerName) ||
-                HTTP.CONTENT_TYPE.equalsIgnoreCase(headerName) ||
-                HTTP.CONTENT_LEN.equalsIgnoreCase(headerName)) {
-                iter.remove();
-            }
-        }
-    }
-
-    private String getUserAgent(MessageContext messageContext) {
-        String userAgentString = "Axis2";
-        boolean locked = false;
-        if (messageContext.getParameter(HTTPConstants.USER_AGENT) != null) {
-            OMElement userAgentElement =
-                    messageContext.getParameter(HTTPConstants.USER_AGENT).getParameterElement();
-            userAgentString = userAgentElement.getText().trim();
-            OMAttribute lockedAttribute = userAgentElement.getAttribute(new QName("locked"));
-            if (lockedAttribute != null) {
-                if (lockedAttribute.getAttributeValue().equalsIgnoreCase("true")) {
-                    locked = true;
-                }
-            }
-        }
-        // Runtime overing part
-        if (!locked) {
-            if (messageContext.getProperty(HTTPConstants.USER_AGENT) != null) {
-                userAgentString = (String) messageContext.getProperty(HTTPConstants.USER_AGENT);
-            }
-        }
-
-        return userAgentString;
-    }
+    }  
     
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AxisRequestEntity.java b/modules/transport/http/src/org/apache/axis2/transport/http/AxisRequestEntity.java
index 0de3084..8834def 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AxisRequestEntity.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AxisRequestEntity.java
@@ -24,7 +24,6 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.transport.MessageFormatter;
 import org.apache.axis2.util.JavaUtils;
-import org.apache.commons.httpclient.methods.RequestEntity;
 
 import javax.xml.stream.FactoryConfigurationError;
 import java.io.IOException;
@@ -35,7 +34,7 @@ import java.util.zip.GZIPOutputStream;
  * This Request Entity is used by the HTTPCommonsTransportSender. This wraps the
  * Axis2 message formatter object.
  */
-public class AxisRequestEntity implements RequestEntity {
+public abstract class AxisRequestEntity  {
 
     private MessageFormatter messageFormatter;
 
@@ -114,7 +113,17 @@ public class AxisRequestEntity implements RequestEntity {
         return bytes.length;
     }
 
-    public String getContentType() {
+    public String getContentTypeAsString() {
         return messageFormatter.getContentType(messageContext, format, soapAction);
     }
+
+    public boolean isChunked() {
+        return chunked;
+    }
+
+    public void setChunked(boolean chunked) {
+        this.chunked = chunked;
+    }
+    
+    
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
index ae43283..a9cb9ba 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
@@ -54,6 +54,7 @@ import org.apache.axis2.util.MessageContextBuilder;
 import org.apache.axis2.util.OnDemandLogger;
 import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 
+
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
@@ -555,7 +556,23 @@ public class AxisServlet extends HttpServlet {
         // AXIS2-4898: MultiThreadedHttpConnectionManager starts a thread that is not stopped by the
         // shutdown of the connection manager. If we want to avoid a resource leak, we need to call
         // shutdownAll here.
-        MultiThreadedHttpConnectionManager.shutdownAll();
+        // TODO - This action need be changed according to current HTTPClient.
+        String clientVersion = getHTTPClientVersion();
+        if (clientVersion != null
+                && HTTPTransportConstants.HTTP_CLIENT_4_X_VERSION.equals(clientVersion)) {
+            // TODO - Handle for HTTPClient 4
+        } else {
+            MultiThreadedHttpConnectionManager.shutdownAll();
+        }
+        
+    }
+
+    private String getHTTPClientVersion() {
+        Object version = configContext.getProperty(HTTPTransportConstants.HTTP_CLIENT_VERSION);
+        if (version != null) {
+            return String.valueOf(version);
+        }
+        return null;
     }
 
     /**
@@ -877,6 +894,7 @@ public class AxisServlet extends HttpServlet {
             }
 
         }
+        
 
     }
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java b/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
index edb7d99..4181a56 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
@@ -31,11 +31,10 @@ import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.axis2.transport.MessageFormatter;
 import org.apache.axis2.transport.OutTransportInfo;
-import org.apache.axis2.transport.TransportSender;
 import org.apache.axis2.transport.TransportUtils;
+import org.apache.axis2.transport.http.impl.httpclient3.HTTPSenderImpl;
 import org.apache.axis2.transport.http.server.AxisHttpResponse;
 import org.apache.axis2.util.JavaUtils;
-import org.apache.commons.httpclient.HttpException;
 import org.apache.commons.httpclient.HttpMethod;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -51,8 +50,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.zip.GZIPOutputStream;
 
-public class CommonsHTTPTransportSender extends AbstractHandler implements
-        TransportSender {
+public class CommonsHTTPTransportSender extends AbstractHandler implements HTTPTransportSender {
     /**
      * The {@link TransportOutDescription} object received by the call to
      * {@link #init(ConfigurationContext, TransportOutDescription)}.
@@ -80,20 +78,22 @@ public class CommonsHTTPTransportSender extends AbstractHandler implements
     private int connectionTimeout = HTTPConstants.DEFAULT_CONNECTION_TIMEOUT;
 
     public void cleanup(MessageContext msgContext) throws AxisFault {
-        HttpMethod httpMethod = (HttpMethod) msgContext.getProperty(HTTPConstants.HTTP_METHOD);
-
-        if (httpMethod != null) {
-            // TODO : Don't do this if we're not on the right thread! Can we confirm?
-            log.trace("cleanup() releasing connection for " + httpMethod);
-
-            httpMethod.releaseConnection();
-            msgContext.removeProperty(HTTPConstants.HTTP_METHOD); // guard against multiple calls
-        }
+        
+            HttpMethod httpMethod = (HttpMethod) msgContext.getProperty(HTTPConstants.HTTP_METHOD);
+            if (httpMethod != null) {
+                // TODO : Don't do this if we're not on the right thread! Can we confirm?
+                log.trace("cleanup() releasing connection for " + httpMethod);
+
+                httpMethod.releaseConnection();
+                msgContext.removeProperty(HTTPConstants.HTTP_METHOD); // guard against multiple calls
+            }        
     }
 
     public void init(ConfigurationContext confContext,
                      TransportOutDescription transportOut) throws AxisFault {
         this.transportOut = transportOut;
+        //Set HTTP client version
+        setHTTPClientVersion(confContext);
         
         // <parameter name="PROTOCOL">HTTP/1.0</parameter> or
         // <parameter name="PROTOCOL">HTTP/1.1</parameter> is
@@ -376,7 +376,7 @@ public class CommonsHTTPTransportSender extends AbstractHandler implements
             // select the Message Sender depending on the REST status
             AbstractHTTPSender sender;
 
-            sender = new HTTPSender();
+            sender = new HTTPSenderImpl();
 
             boolean chunked;
             if (messageContext.getProperty(HTTPConstants.CHUNKED) != null) {
@@ -403,10 +403,7 @@ public class CommonsHTTPTransportSender extends AbstractHandler implements
         } catch (MalformedURLException e) {
             log.debug(e);
             throw AxisFault.makeFault(e);
-        } catch (HttpException e) {
-            log.debug(e);
-            throw AxisFault.makeFault(e);
-        } catch (IOException e) {
+        }  catch (IOException e) {
             log.debug(e);
             throw AxisFault.makeFault(e);
         }
@@ -505,4 +502,10 @@ public class CommonsHTTPTransportSender extends AbstractHandler implements
 
         return soapActionString;
     }
+    
+    public void setHTTPClientVersion(ConfigurationContext configurationContext) {
+        configurationContext.setProperty(HTTPTransportConstants.HTTP_CLIENT_VERSION,
+                HTTPTransportConstants.HTTP_CLIENT_3_X_VERSION);
+    }
+    
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/CommonsTransportHeaders.java b/modules/transport/http/src/org/apache/axis2/transport/http/CommonsTransportHeaders.java
index d09ebad..828d226 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/CommonsTransportHeaders.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/CommonsTransportHeaders.java
@@ -19,30 +19,18 @@
 
 package org.apache.axis2.transport.http;
 
-import org.apache.commons.httpclient.Header;
 
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-public class CommonsTransportHeaders implements Map {
-    private Header[] headers;
+public abstract class CommonsTransportHeaders implements Map {  
 
     HashMap headerMap = null;
-
-    public CommonsTransportHeaders(Header[] headers) {
-        this.headers = headers;
-    }
-
-    private void init() {
-        headerMap = new HashMap();
-
-        for (int i = 0; i < headers.length; i++) {
-            headerMap.put(headers[i].getName(), headers[i].getValue());
-        }
-    }
-
+   
+    protected abstract void init();
+    
     public int size() {
         if (headerMap == null) {
             init();
@@ -125,4 +113,14 @@ public class CommonsTransportHeaders implements Map {
         }
         return headerMap.put(key, value);
     }
+
+    public HashMap getHeaderMap() {
+        return headerMap;
+    }
+
+    public void setHeaderMap(HashMap headerMap) {
+        this.headerMap = headerMap;
+    }
+    
+    
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java b/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
index 1227004..118ffbf 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
@@ -23,58 +23,17 @@ package org.apache.axis2.transport.http;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.i18n.Messages;
-import org.apache.axis2.transport.MessageFormatter;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import java.io.IOException;
 import java.net.URL;
 
-public class HTTPSender extends AbstractHTTPSender {
+//TODO - It better if we can define these method in a interface move these into AbstractHTTPSender and get rid of this class.
+public abstract class HTTPSender extends AbstractHTTPSender {
 
     private static final Log log = LogFactory.getLog(HTTPSender.class);
-
-    public void send(MessageContext msgContext, URL url, String soapActionString)
-            throws IOException {
-
-        // execute the HtttpMethodBase - a connection manager can be given for
-        // handle multiple
-
-        String httpMethod =
-                (String) msgContext.getProperty(Constants.Configuration.HTTP_METHOD);
-
-        if ((httpMethod != null)) {
-
-            if (Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) {
-                this.sendViaGet(msgContext, url, soapActionString);
-
-                return;
-            } else if (Constants.Configuration.HTTP_METHOD_DELETE.equalsIgnoreCase(httpMethod)) {
-                this.sendViaDelete(msgContext, url, soapActionString);
-
-                return;
-            } else if (Constants.Configuration.HTTP_METHOD_PUT.equalsIgnoreCase(httpMethod)) {
-                this.sendViaPut(msgContext, url, soapActionString);
-
-                return;
-            }
-        }
-
-        this.sendViaPost(msgContext, url, soapActionString);
-    }
-
+    
     /**
      * Used to send a request via HTTP Get method
      *
@@ -83,39 +42,9 @@ public class HTTPSender extends AbstractHTTPSender {
      * @param soapActiionString - The soapAction string of the request
      * @throws AxisFault - Thrown in case an exception occurs
      */
-    private void sendViaGet(MessageContext msgContext, URL url, String soapActiionString)
-            throws AxisFault {
-
-        GetMethod getMethod = new GetMethod();
-        HttpClient httpClient = getHttpClient(msgContext);
-        MessageFormatter messageFormatter =
-                populateCommonProperties(msgContext, url, getMethod, httpClient, soapActiionString);
-
-        // Need to have this here because we can have soap action when using the soap response MEP
-        String soapAction =
-                messageFormatter.formatSOAPAction(msgContext, format, soapActiionString);
-
-        if (soapAction != null) {
-            getMethod.setRequestHeader(HTTPConstants.HEADER_SOAP_ACTION, soapAction);
-        }
-        try {
-            executeMethod(httpClient, msgContext, url, getMethod);
-            handleResponse(msgContext, getMethod);
-        } catch (IOException e) {
-            log.info("Unable to sendViaGet to url[" + url + "]", e);
-            throw AxisFault.makeFault(e);
-        } finally {
-            cleanup(msgContext, getMethod);
-        }
-    }
-
-    private void cleanup(MessageContext msgContext, HttpMethod method) {
-        if (msgContext.isPropertyTrue(HTTPConstants.AUTO_RELEASE_CONNECTION)) {
-            log.trace("AutoReleasing " + method);
-            method.releaseConnection();
-        }
-    }
-
+    protected abstract void sendViaGet(MessageContext msgContext, URL url, String soapActiionString)
+            throws AxisFault;
+    
     /**
      * Used to send a request via HTTP Delete Method
      *
@@ -124,24 +53,8 @@ public class HTTPSender extends AbstractHTTPSender {
      * @param soapActiionString - The soapAction string of the request
      * @throws AxisFault - Thrown in case an exception occurs
      */
-    private void sendViaDelete(MessageContext msgContext, URL url, String soapActiionString)
-            throws AxisFault {
-
-        DeleteMethod deleteMethod = new DeleteMethod();
-        HttpClient httpClient = getHttpClient(msgContext);
-        populateCommonProperties(msgContext, url, deleteMethod, httpClient, soapActiionString);
-
-        try {
-            executeMethod(httpClient, msgContext, url, deleteMethod);
-            handleResponse(msgContext, deleteMethod);
-        } catch (IOException e) {
-            log.info("Unable to sendViaDelete to url[" + url + "]", e);
-            throw AxisFault.makeFault(e);
-        } finally {
-            cleanup(msgContext, deleteMethod);
-        }
-    }
-
+    protected abstract void sendViaDelete(MessageContext msgContext, URL url, String soapActiionString)
+            throws AxisFault; 
     /**
      * Used to send a request via HTTP Post Method
      *
@@ -150,55 +63,9 @@ public class HTTPSender extends AbstractHTTPSender {
      * @param soapActionString - The soapAction string of the request
      * @throws AxisFault - Thrown in case an exception occurs
      */
-    private void sendViaPost(MessageContext msgContext, URL url,
-                             String soapActionString) throws AxisFault {
-
-
-        HttpClient httpClient = getHttpClient(msgContext);
-
-/*  What's up with this, it never gets used anywhere?? --Glen
-        String charEncoding =
-                (String) msgContext.getProperty(Constants.Configuration.CHARACTER_SET_ENCODING);
-
-        if (charEncoding == null) {
-            charEncoding = MessageContext.DEFAULT_CHAR_SET_ENCODING;
-        }
-*/
-
-        PostMethod postMethod = new PostMethod();
-        if (log.isTraceEnabled()) {
-            log.trace(Thread.currentThread() + " PostMethod " + postMethod + " / " + httpClient);
-        }
-        MessageFormatter messageFormatter =
-                populateCommonProperties(msgContext, url, postMethod, httpClient, soapActionString);
+    protected abstract void sendViaPost(MessageContext msgContext, URL url,
+                             String soapActionString) throws AxisFault;
 
-        postMethod.setRequestEntity(new AxisRequestEntity(messageFormatter,
-                                                          msgContext, format, soapActionString,
-                                                          chunked, isAllowedRetry));
-
-        if (!httpVersion.equals(HTTPConstants.HEADER_PROTOCOL_10) && chunked) {
-            postMethod.setContentChunked(true);
-        }
-
-        String soapAction = messageFormatter.formatSOAPAction(msgContext, format, soapActionString);
-
-        if (soapAction != null) {
-            postMethod.setRequestHeader(HTTPConstants.HEADER_SOAP_ACTION, soapAction);
-        }
-
-        /*
-         *   main excecution takes place..
-         */
-        try {
-            executeMethod(httpClient, msgContext, url, postMethod);
-            handleResponse(msgContext, postMethod);
-        } catch (IOException e) {
-            log.info("Unable to sendViaPost to url[" + url + "]", e);
-            throw AxisFault.makeFault(e);
-        } finally {
-            cleanup(msgContext, postMethod);
-        }
-    }
 
     /**
      * Used to send a request via HTTP Put Method
@@ -208,51 +75,10 @@ public class HTTPSender extends AbstractHTTPSender {
      * @param soapActionString - The soapAction string of the request
      * @throws AxisFault - Thrown in case an exception occurs
      */
-    private void sendViaPut(MessageContext msgContext, URL url,
-                            String soapActionString) throws AxisFault {
-
-
-        HttpClient httpClient = getHttpClient(msgContext);
-
-/*  Same deal - this value never gets used, why is it here? --Glen
-        String charEncoding =
-                (String) msgContext.getProperty(Constants.Configuration.CHARACTER_SET_ENCODING);
-
-        if (charEncoding == null) {
-            charEncoding = MessageContext.DEFAULT_CHAR_SET_ENCODING;
-        }
-*/
+    protected abstract void sendViaPut(MessageContext msgContext, URL url,
+                            String soapActionString) throws AxisFault;
 
-        PutMethod putMethod = new PutMethod();
-        MessageFormatter messageFormatter =
-                populateCommonProperties(msgContext, url, putMethod, httpClient, soapActionString);
-
-        putMethod.setRequestEntity(new AxisRequestEntity(messageFormatter,
-                                                         msgContext, format, soapActionString,
-                                                         chunked, isAllowedRetry));
-
-        if (!httpVersion.equals(HTTPConstants.HEADER_PROTOCOL_10) && chunked) {
-            putMethod.setContentChunked(true);
-        }
-
-        String soapAction = messageFormatter.formatSOAPAction(msgContext, format, soapActionString);
-        if (soapAction != null) {
-            putMethod.setRequestHeader(HTTPConstants.HEADER_SOAP_ACTION, soapAction);
-        }
-
-        /*
-         *   main excecution takes place..
-         */
-        try {
-            executeMethod(httpClient, msgContext, url, putMethod);
-            handleResponse(msgContext, putMethod);
-        } catch (IOException e) {
-            log.info("Unable to sendViaPut to url[" + url + "]", e);
-            throw AxisFault.makeFault(e);
-        } finally {
-            cleanup(msgContext, putMethod);
-        }
-    }
+     
 
     /**
      * Used to handle the HTTP Response
@@ -261,55 +87,40 @@ public class HTTPSender extends AbstractHTTPSender {
      * @param method     - The HTTP method used
      * @throws IOException - Thrown in case an exception occurs
      */
-    private void handleResponse(MessageContext msgContext,
-                                HttpMethodBase method) throws IOException {
-        int statusCode = method.getStatusCode();
-        log.trace("Handling response - " + statusCode);
-        if (statusCode == HttpStatus.SC_OK) {
-            // Save the HttpMethod so that we can release the connection when cleaning up
-            msgContext.setProperty(HTTPConstants.HTTP_METHOD, method);
-            processResponse(method, msgContext);
-        } else if (statusCode == HttpStatus.SC_ACCEPTED) {
-        	/* When an HTTP 202 Accepted code has been received, this will be the case of an execution 
-        	 * of an in-only operation. In such a scenario, the HTTP response headers should be returned,
-        	 * i.e. session cookies. */
-        	obtainHTTPHeaderInformation(method, msgContext);
-        	// Since we don't expect any content with a 202 response, we must release the connection
-        	method.releaseConnection();
-        } else if (statusCode == HttpStatus.SC_INTERNAL_SERVER_ERROR ||
-                statusCode == HttpStatus.SC_BAD_REQUEST) {
-            // Save the HttpMethod so that we can release the connection when cleaning up
-            msgContext.setProperty(HTTPConstants.HTTP_METHOD, method);
-            Header contenttypeHeader =
-                    method.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
-            String value = null;
-            if (contenttypeHeader != null) {
-                value = contenttypeHeader.getValue();
-            }
-             OperationContext opContext = msgContext.getOperationContext();
-            if(opContext!=null){
-                MessageContext inMessageContext =
-                        opContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-                if(inMessageContext!=null){
-                    inMessageContext.setProcessingFault(true);
-                }
-            }
-            if (value != null) {
+    protected abstract void handleResponse(MessageContext msgContext,
+                                Object httpMethodBase) throws IOException;
+    
+    protected abstract void cleanup(MessageContext msgContext, Object httpMethod);
+    
+    
 
-                processResponse(method, msgContext);
-            }
-            
-            if (org.apache.axis2.util.Utils.isClientThreadNonBlockingPropertySet(msgContext)) {
-            	 throw new AxisFault(Messages.getMessage("transportError",
-                         String.valueOf(statusCode),
-                         method.getStatusText()));
+    public void send(MessageContext msgContext, URL url, String soapActionString)
+            throws IOException {
+
+        // execute the HtttpMethodBase - a connection manager can be given for
+        // handle multiple
+
+        String httpMethod =
+                (String) msgContext.getProperty(Constants.Configuration.HTTP_METHOD);
+
+        if ((httpMethod != null)) {
+
+            if (Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) {
+                this.sendViaGet(msgContext, url, soapActionString);
+
+                return;
+            } else if (Constants.Configuration.HTTP_METHOD_DELETE.equalsIgnoreCase(httpMethod)) {
+                this.sendViaDelete(msgContext, url, soapActionString);
+
+                return;
+            } else if (Constants.Configuration.HTTP_METHOD_PUT.equalsIgnoreCase(httpMethod)) {
+                this.sendViaPut(msgContext, url, soapActionString);
+
+                return;
             }
-        } else {
-            // Since we don't process the response, we must release the connection immediately
-            method.releaseConnection();
-            throw new AxisFault(Messages.getMessage("transportError",
-                                                    String.valueOf(statusCode),
-                                                    method.getStatusText()));
         }
-    }
+
+        this.sendViaPost(msgContext, url, soapActionString);
+    }    
+       
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/HttpTransportProperties.java b/modules/transport/http/src/org/apache/axis2/transport/http/HttpTransportProperties.java
index 25c58bf..01f7376 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/HttpTransportProperties.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/HttpTransportProperties.java
@@ -19,48 +19,36 @@
 
 package org.apache.axis2.transport.http;
 
-import org.apache.commons.httpclient.HttpVersion;
-import org.apache.commons.httpclient.auth.AuthPolicy;
-import org.apache.commons.httpclient.auth.AuthScope;
-
-import java.util.List;
 import java.util.Properties;
 
 /**
  * Utility bean for setting transport properties in runtime.
  */
-public class HttpTransportProperties {
-    protected boolean chunked;
-    protected HttpVersion httpVersion;
+public abstract class HttpTransportProperties {
+    
+    protected boolean chunked;    
     protected String protocol;
-
-    public HttpTransportProperties() {
-    }
+       
+    public abstract void setHttpVersion(Object httpVerion);
+    
+    public abstract Object getHttpVersion();
 
     public boolean getChunked() {
         return chunked;
     }
-
-    public HttpVersion getHttpVersion() {
-        return httpVersion;
-    }
-
+    
     public String getProtocol() {
         return protocol;
     }
 
     public void setChunked(boolean chunked) {
         this.chunked = chunked;
-    }
-
-    public void setHttpVersion(HttpVersion httpVerion) {
-        this.httpVersion = httpVerion;
-    }
+    }  
 
     public void setProtocol(String protocol) {
         this.protocol = protocol;
     }
-
+    
     public static class ProxyProperties {
         protected int proxyPort = -1;
         protected String domain = null;
@@ -112,109 +100,7 @@ public class HttpTransportProperties {
         }
     }
 
-    /*
-    This class is responsible for holding all the necessary information needed for NTML, Digest
-    and Basic Authentication. Authentication itself is handled by httpclient. User doesn't need to
-    warry about what authentication mechanism it uses. Axis2 uses httpclinet's default authentication
-    patterns.
-    */
-    public static class Authenticator {
-        /*host that needed to be authenticated with*/
-        private String host;
-        /*port of the host that needed to be authenticated with*/
-        private int port = AuthScope.ANY_PORT;
-        /*Realm for authentication scope*/
-        private String realm = AuthScope.ANY_REALM;
-        /*Domain needed by NTCredentials for NT Domain*/
-        private String domain;
-        /*User for authenticate*/
-        private String username;
-        /*Password of the user for authenticate*/
-        private String password;
-        /* Switch to use preemptive authentication or not*/
-        private boolean preemptive = false;
-        /* if Authentication scheme needs retry just turn on the following flag */
-        private boolean allowedRetry = false;
-        /* Changing the priorty or adding a custom AuthPolicy*/
-        private List authSchemes;
-
-        /* Default Auth Schems*/
-        public static final String NTLM = AuthPolicy.NTLM;
-        public static final String DIGEST = AuthPolicy.DIGEST;
-        public static final String BASIC = AuthPolicy.BASIC;
-
-        public String getHost() {
-            return host;
-        }
-
-        public void setHost(String host) {
-            this.host = host;
-        }
-
-        public int getPort() {
-            return port;
-        }
-
-        public void setPort(int port) {
-            this.port = port;
-        }
-
-        public String getRealm() {
-            return realm;
-        }
-
-        public void setRealm(String realm) {
-            this.realm = realm;
-        }
-
-        public String getUsername() {
-            return username;
-        }
-
-        public void setUsername(String username) {
-            this.username = username;
-        }
-
-        public String getPassword() {
-            return password;
-        }
-
-        public void setPassword(String password) {
-            this.password = password;
-        }
-
-        public void setPreemptiveAuthentication(boolean preemptive) {
-            this.preemptive = preemptive;
-        }
-
-        public boolean getPreemptiveAuthentication() {
-            return this.preemptive;
-        }
-
-        public String getDomain() {
-            return domain;
-        }
-
-        public void setDomain(String domain) {
-            this.domain = domain;
-        }
-
-        public void setAuthSchemes(List authSchemes) {
-            this.authSchemes = authSchemes;
-        }
-
-        public List getAuthSchemes() {
-            return this.authSchemes;
-        }
-
-        public void setAllowedRetry(boolean allowedRetry) {
-            this.allowedRetry = allowedRetry;
-        }
-
-        public boolean isAllowedRetry() {
-            return this.allowedRetry;
-        }
-    }
+   
 
     /**
      * @deprecated org.apache.axis2.transport.http.HttpTransportProperties.MailProperties has been
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity.java b/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity.java
index bca0588..6410584 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity.java
@@ -23,7 +23,6 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
-import org.apache.commons.httpclient.methods.RequestEntity;
 
 import javax.xml.stream.FactoryConfigurationError;
 import javax.xml.stream.XMLStreamException;
@@ -31,7 +30,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 
-public class RESTRequestEntity implements RequestEntity {
+public abstract class RESTRequestEntity {
     private byte[] bytes;
     private String charSetEnc;
     private boolean chunked;
@@ -115,7 +114,7 @@ public class RESTRequestEntity implements RequestEntity {
         }
     }
 
-    public String getContentType() {
+    public String getContentTypeAsString() {
         String encoding = format.getCharSetEncoding();
         String contentType = format.getContentType();
         if (encoding != null) {
@@ -133,4 +132,61 @@ public class RESTRequestEntity implements RequestEntity {
     public boolean isRepeatable() {
         return true;
     }
+
+    public byte[] getBytes() {
+        return bytes;
+    }
+
+    public void setBytes(byte[] bytes) {
+        this.bytes = bytes;
+    }
+
+    public String getCharSetEnc() {
+        return charSetEnc;
+    }
+
+    public void setCharSetEnc(String charSetEnc) {
+        this.charSetEnc = charSetEnc;
+    }
+
+    public boolean isChunked() {
+        return chunked;
+    }
+
+    public void setChunked(boolean chunked) {
+        this.chunked = chunked;
+    }
+
+    public OMElement getElement() {
+        return element;
+    }
+
+    public void setElement(OMElement element) {
+        this.element = element;
+    }
+
+    public MessageContext getMsgCtxt() {
+        return msgCtxt;
+    }
+
+    public void setMsgCtxt(MessageContext msgCtxt) {
+        this.msgCtxt = msgCtxt;
+    }
+
+    public String getSoapActionString() {
+        return soapActionString;
+    }
+
+    public void setSoapActionString(String soapActionString) {
+        this.soapActionString = soapActionString;
+    }
+
+    public OMOutputFormat getFormat() {
+        return format;
+    }
+
+    public void setFormat(OMOutputFormat format) {
+        this.format = format;
+    }    
+    
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity2.java b/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity2.java
index 81a3c6e..434b127 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity2.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/RESTRequestEntity2.java
@@ -19,12 +19,10 @@
 
 package org.apache.axis2.transport.http;
 
-import org.apache.commons.httpclient.methods.RequestEntity;
-
 import java.io.IOException;
 import java.io.OutputStream;
 
-public class RESTRequestEntity2 implements RequestEntity {
+public abstract class RESTRequestEntity2 {
     private String contentType;
     private String postRequestBody;
 
@@ -41,11 +39,25 @@ public class RESTRequestEntity2 implements RequestEntity {
         return this.postRequestBody.getBytes().length;
     }
 
-    public String getContentType() {
+    public String getContentTypeAsString() {
         return this.contentType;
     }
 
     public boolean isRepeatable() {
         return true;
     }
+   
+
+    public void setContentType(String contentType) {
+        this.contentType = contentType;
+    }
+
+    public String getPostRequestBody() {
+        return postRequestBody;
+    }
+
+    public void setPostRequestBody(String postRequestBody) {
+        this.postRequestBody = postRequestBody;
+    }
+    
 }
diff --git a/modules/transport/http/src/org/apache/axis2/transport/http/util/HTTPProxyConfigurationUtil.java b/modules/transport/http/src/org/apache/axis2/transport/http/util/HTTPProxyConfigurationUtil.java
index a163450..dcd7b90 100644
--- a/modules/transport/http/src/org/apache/axis2/transport/http/util/HTTPProxyConfigurationUtil.java
+++ b/modules/transport/http/src/org/apache/axis2/transport/http/util/HTTPProxyConfigurationUtil.java
@@ -42,6 +42,7 @@ import java.util.StringTokenizer;
 /**
  * Contains utility functions used when configuring HTTP Proxy for HTTP Sender.
  */
+@Deprecated
 public class HTTPProxyConfigurationUtil {
     private static Log log = LogFactory.getLog(HTTPProxyConfigurationUtil.class);
 
diff --git a/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderClientSideTest.java b/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderClientSideTest.java
index 658f5ca..671f49e 100644
--- a/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderClientSideTest.java
+++ b/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderClientSideTest.java
@@ -11,6 +11,7 @@ import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.axis2.transport.OutTransportInfo;
+import org.apache.axis2.transport.http.impl.httpclient3.HTTPClient3TransportSender;
 import org.apache.axis2.transport.http.mock.MockAxisHttpResponse;
 import org.apache.axis2.transport.http.mock.MockHTTPResponse;
 import org.apache.axis2.transport.http.mock.server.AbstractHTTPServerTest;
@@ -31,7 +32,7 @@ public class CommonsHTTPTransportSenderClientSideTest extends AbstractHTTPServer
         // client hence ignore the processing of response at client side.
         try {
             httpResponse = (MockAxisHttpResponse) CommonsHTTPTransportSenderTest.configAndRun(
-                    httpResponse, (OutTransportInfo) httpResponse, "http://localhost:" + port);
+                    httpResponse, (OutTransportInfo) httpResponse, "http://localhost:" + port,  new HTTPClient3TransportSender());
 
         } catch (Exception e) {
         }
diff --git a/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderTest.java b/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderTest.java
index ec07b69..e3820bd 100644
--- a/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderTest.java
+++ b/modules/transport/http/test/org/apache/axis2/transport/http/CommonsHTTPTransportSenderTest.java
@@ -54,14 +54,16 @@ import org.apache.http.ProtocolVersion;
 import org.apache.http.RequestLine;
 import org.apache.http.message.BasicRequestLine;
 
-public class CommonsHTTPTransportSenderTest extends TestCase  {
+public abstract class CommonsHTTPTransportSenderTest extends TestCase  {
+    
+    protected abstract TransportSender getTransportSender();
 
     public void testInvokeWithServletBasedOutTransportInfo() throws Exception {
         MockHTTPResponse httpResponse = new MockHttpServletResponse();
         ServletBasedOutTransportInfo info = new ServletBasedOutTransportInfo(
                 (HttpServletResponse) httpResponse);
         SOAPEnvelope envelope = getEnvelope();
-        httpResponse = configAndRun(httpResponse, info, null);
+        httpResponse = configAndRun(httpResponse, info, null, getTransportSender());
 
         assertEquals("Not the expected Header value", "application/xml", httpResponse.getHeaders()
                 .get("Content-Type"));
@@ -76,7 +78,7 @@ public class CommonsHTTPTransportSenderTest extends TestCase  {
         MockHTTPResponse httpResponse = new MockAxisHttpResponse(line);
         SOAPEnvelope envelope = getEnvelope();
         httpResponse = (MockAxisHttpResponse) configAndRun(httpResponse,
-                (OutTransportInfo) httpResponse, null);
+                (OutTransportInfo) httpResponse, null, getTransportSender());
 
         assertEquals("Not the expected Header value", "application/xml", httpResponse.getHeaders()
                 .get("Content-Type"));
@@ -87,7 +89,7 @@ public class CommonsHTTPTransportSenderTest extends TestCase  {
     }
 
     public void testCleanup() throws AxisFault {
-        TransportSender sender = new CommonsHTTPTransportSender();
+        TransportSender sender = getTransportSender();
         MessageContext msgContext = new MessageContext();
         HttpMethod httpMethod = new GetMethod();
         msgContext.setProperty(HTTPConstants.HTTP_METHOD, httpMethod);
@@ -102,13 +104,13 @@ public class CommonsHTTPTransportSenderTest extends TestCase  {
         ConfigurationContext confContext = ConfigurationContextFactory
                 .createEmptyConfigurationContext();
         TransportOutDescription transportOut = new TransportOutDescription("http");
-        TransportSender sender = new CommonsHTTPTransportSender();
+        TransportSender sender = getTransportSender();
         sender.init(confContext, transportOut);
 
     }
 
     public static MockHTTPResponse configAndRun(MockHTTPResponse outResponse,
-            OutTransportInfo outTransportInfo, String epr) throws Exception {
+            OutTransportInfo outTransportInfo, String epr, TransportSender sender) throws Exception {
         MockHTTPResponse response = outResponse;
         ConfigurationContext confContext = ConfigurationContextFactory
                 .createEmptyConfigurationContext();
@@ -116,8 +118,7 @@ public class CommonsHTTPTransportSenderTest extends TestCase  {
         Parameter param = new Parameter(HTTPConstants.OMIT_SOAP_12_ACTION, false);
         SOAPEnvelope envelope = getEnvelope();
         MessageContext msgContext = new MessageContext();
-
-        TransportSender sender = new CommonsHTTPTransportSender();
+        
         transportOut.addParameter(param);
         // create dummy SOAPEnvelope
         msgContext.setEnvelope(envelope);
diff --git a/modules/transport/http/test/org/apache/axis2/transport/http/HTTPSenderTest.java b/modules/transport/http/test/org/apache/axis2/transport/http/HTTPSenderTest.java
index ad7d9d0..8221b4a 100644
--- a/modules/transport/http/test/org/apache/axis2/transport/http/HTTPSenderTest.java
+++ b/modules/transport/http/test/org/apache/axis2/transport/http/HTTPSenderTest.java
@@ -35,9 +35,11 @@ import org.apache.axis2.transport.http.mock.server.AbstractHTTPServerTest;
 /**
  * The Class HTTPSenderTest.
  */
-public class HTTPSenderTest extends AbstractHTTPServerTest {
+public abstract class HTTPSenderTest extends AbstractHTTPServerTest {
    
     private HTTPSender httpSender;
+    
+    protected abstract HTTPSender getHTTPSender();
 
     /**
      * Send via http.
@@ -51,7 +53,7 @@ public class HTTPSenderTest extends AbstractHTTPServerTest {
      */
     private void sendViaHTTP(String httpMethod, String soapAction, String address, boolean rest)
             throws IOException, MessagingException {
-        httpSender = new HTTPSender();
+        httpSender = getHTTPSender();
         MessageContext msgContext = new MessageContext();
         ConfigurationContext configContext = ConfigurationContextFactory
                 .createEmptyConfigurationContext();
@@ -66,7 +68,7 @@ public class HTTPSenderTest extends AbstractHTTPServerTest {
         httpSender.send(msgContext, url, soapAction);
        
 
-    }
+    }   
 
     /**
      * Test send via get.
diff --git a/modules/transport/local/pom.xml b/modules/transport/local/pom.xml
index 19dff9f..0ef2fa6 100644
--- a/modules/transport/local/pom.xml
+++ b/modules/transport/local/pom.xml
@@ -33,9 +33,9 @@
     <packaging>bundle</packaging>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/local</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/local</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/local</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/local</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/local</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/transport/local</url>
     </scm>
     <build>
         <sourceDirectory>src</sourceDirectory>
diff --git a/modules/webapp/pom.xml b/modules/webapp/pom.xml
index 2d7408b..e809b26 100644
--- a/modules/webapp/pom.xml
+++ b/modules/webapp/pom.xml
@@ -30,9 +30,9 @@
     <name>Apache Axis2 - Web Application module</name>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/webapp</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/webapp</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/webapp</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/webapp</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/webapp</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/webapp</url>
     </scm>
     <dependencies>
         <dependency>
diff --git a/modules/xmlbeans/pom.xml b/modules/xmlbeans/pom.xml
index 41c6bf5..7177793 100644
--- a/modules/xmlbeans/pom.xml
+++ b/modules/xmlbeans/pom.xml
@@ -51,9 +51,9 @@
     </dependencies>
     <url>http://axis.apache.org/axis2/java/core/</url>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/xmlbeans</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/xmlbeans</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/xmlbeans</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/xmlbeans</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318/modules/xmlbeans</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318/modules/xmlbeans</url>
     </scm>
     <build>
         <resources>
diff --git a/pom.xml b/pom.xml
index 8c49221..1399c35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -550,9 +550,9 @@
         </contributor>
     </contributors>
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/branches/AXIS2-4318</developerConnection>
+        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4318</url>
     </scm>
     <properties>
         <!-- This variable is used in some Xdocs and is substituted using Velocity. Note that