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 ve...@apache.org on 2017/01/16 14:09:55 UTC
svn commit: r1779032 - in /axis/axis2/java/core/trunk/modules/transport:
http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/
http/src/org/apache/axis2/transport/http/impl/httpclient4/
Author: veithen
Date: Mon Jan 16 14:09:55 2017
New Revision: 1779032
URL: http://svn.apache.org/viewvc?rev=1779032&view=rev
Log:
Unify the Request implementations; for each HTTPClient version, they are essentially the same.
Added:
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java
- copied, changed from r1779031, axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java
- copied, changed from r1779031, axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java
Removed:
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/DeleteRequest.java
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/GetRequest.java
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/PostRequest.java
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/PutRequest.java
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/DeleteRequest.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/GetRequest.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/PostRequest.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/PutRequest.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java
Modified:
axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java
Modified: axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java?rev=1779032&r1=1779031&r2=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/HTTPSenderImpl.java Mon Jan 16 14:09:55 2017
@@ -64,6 +64,10 @@ import org.apache.commons.httpclient.Nam
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.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.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.commons.logging.Log;
@@ -95,7 +99,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request prepareGet(final MessageContext msgContext, final URL url)
throws AxisFault {
- return new GetRequest(this, msgContext, url);
+ return new RequestImpl(this, msgContext, url, null, new GetMethod());
}
protected void cleanup(MessageContext msgContext, HttpMethod httpMmethod) {
@@ -118,7 +122,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request prepareDelete(final MessageContext msgContext, final URL url)
throws AxisFault {
- return new DeleteRequest(this, msgContext, url);
+ return new RequestImpl(this, msgContext, url, null, new DeleteMethod());
}
/**
@@ -134,7 +138,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request preparePost(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
throws AxisFault {
- return new PostRequest(this, msgContext, url, requestEntity);
+ return new RequestImpl(this, msgContext, url, requestEntity, new PostMethod());
}
/**
@@ -150,7 +154,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request preparePut(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
throws AxisFault {
- return new PutRequest(this, msgContext, url, requestEntity);
+ return new RequestImpl(this, msgContext, url, requestEntity, new PutMethod());
}
/**
Copied: axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java (from r1779031, axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java)
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java?p2=axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java&p1=axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java&r1=1779031&r2=1779032&rev=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestBase.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http-hc3/src/main/java/org/apache/axis2/transport/http/impl/httpclient3/RequestImpl.java Mon Jan 16 14:09:55 2017
@@ -18,6 +18,7 @@
*/
package org.apache.axis2.transport.http.impl.httpclient3;
+import java.io.IOException;
import java.net.URL;
import org.apache.axis2.AxisFault;
@@ -29,15 +30,19 @@ import org.apache.commons.httpclient.Htt
import org.apache.commons.httpclient.HttpMethodBase;
import org.apache.commons.httpclient.HttpVersion;
import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+final class RequestImpl implements Request {
+ private static final Log log = LogFactory.getLog(RequestImpl.class);
-abstract class RequestBase implements Request {
protected final HTTPSenderImpl sender;
protected final MessageContext msgContext;
protected final URL url;
protected final HttpMethodBase method;
protected final HttpClient httpClient;
- RequestBase(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpMethodBase method) throws AxisFault {
+ RequestImpl(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpMethodBase method) throws AxisFault {
this.sender = sender;
this.msgContext = msgContext;
this.url = url;
@@ -62,4 +67,17 @@ abstract class RequestBase implements Re
public void setHeader(String name, String value) {
method.setRequestHeader(name, value);
}
+
+ @Override
+ public void execute() throws AxisFault {
+ try {
+ sender.executeMethod(httpClient, msgContext, url, method);
+ sender.handleResponse(msgContext, method);
+ } catch (IOException e) {
+ log.info("Unable to send to url[" + url + "]", e);
+ throw AxisFault.makeFault(e);
+ } finally {
+ sender.cleanup(msgContext, method);
+ }
+ }
}
Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java?rev=1779032&r1=1779031&r2=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/HTTPSenderImpl.java Mon Jan 16 14:09:55 2017
@@ -49,6 +49,10 @@ import org.apache.http.auth.Credentials;
import org.apache.http.auth.NTCredentials;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.auth.params.AuthPNames;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.params.AuthPolicy;
import org.apache.http.client.params.ClientPNames;
@@ -107,7 +111,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request prepareGet(final MessageContext msgContext, final URL url)
throws AxisFault {
- return new GetRequest(this, msgContext, url);
+ return new RequestImpl(this, msgContext, url, null, new HttpGet());
}
protected void cleanup(MessageContext msgContext, HttpResponse response) {
@@ -135,7 +139,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request prepareDelete(final MessageContext msgContext, final URL url)
throws AxisFault {
- return new DeleteRequest(this, msgContext, url);
+ return new RequestImpl(this, msgContext, url, null, new HttpDelete());
}
/**
@@ -148,7 +152,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request preparePost(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
throws AxisFault {
- return new PostRequest(this, msgContext, url, requestEntity);
+ return new RequestImpl(this, msgContext, url, requestEntity, new HttpPost());
}
/**
@@ -161,7 +165,7 @@ public class HTTPSenderImpl extends HTTP
@Override
protected Request preparePut(final MessageContext msgContext, final URL url, AxisRequestEntity requestEntity)
throws AxisFault {
- return new PutRequest(this, msgContext, url, requestEntity);
+ return new RequestImpl(this, msgContext, url, requestEntity, new HttpPut());
}
/**
Copied: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java (from r1779031, axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java)
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java?p2=axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java&p1=axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java&r1=1779031&r2=1779032&rev=1779032&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestBase.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/impl/httpclient4/RequestImpl.java Mon Jan 16 14:09:55 2017
@@ -18,6 +18,7 @@
*/
package org.apache.axis2.transport.http.impl.httpclient4;
+import java.io.IOException;
import java.net.URL;
import org.apache.axis2.AxisFault;
@@ -25,20 +26,25 @@ import org.apache.axis2.context.MessageC
import org.apache.axis2.transport.http.AxisRequestEntity;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.Request;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpEntityEnclosingRequest;
+import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.AbstractHttpClient;
import org.apache.http.params.CoreProtocolPNames;
-abstract class RequestBase implements Request {
+final class RequestImpl implements Request {
+ private static final Log log = LogFactory.getLog(RequestImpl.class);
+
protected final HTTPSenderImpl sender;
protected final MessageContext msgContext;
protected final URL url;
protected final HttpRequestBase method;
protected final AbstractHttpClient httpClient;
- RequestBase(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpRequestBase method) throws AxisFault {
+ RequestImpl(HTTPSenderImpl sender, MessageContext msgContext, URL url, AxisRequestEntity requestEntity, HttpRequestBase method) throws AxisFault {
this.sender = sender;
this.msgContext = msgContext;
this.url = url;
@@ -65,4 +71,18 @@ abstract class RequestBase implements Re
public void setHeader(String name, String value) {
method.setHeader(name, value);
}
+
+ @Override
+ public void execute() throws AxisFault {
+ HttpResponse response = null;
+ try {
+ response = sender.executeMethod(httpClient, msgContext, url, method);
+ sender.handleResponse(msgContext, response);
+ } catch (IOException e) {
+ log.info("Unable to send to url[" + url + "]", e);
+ throw AxisFault.makeFault(e);
+ } finally {
+ sender.cleanup(msgContext, response);
+ }
+ }
}