Hi There,
This is my first post here so I hope this is the right audience.
My story: I want to replace a chunk of my code for doing I/O streaming to a
webservice. I use java.net.HttpURLConnection to get the InputStream and
OutputStream, it works fine most of the time but it can get a bit flaky and
I had to write my own retry logic. So I decided to switch to
jakartacommons-httpclient to see if things get better. The problem is I
don't seem to be able to come up with a good replacement from the httpclient
package.
Here is the method for obtaining a HttpConnection I wrote, the problem is
the HostConfiguration returned is not populated.
--------
private HttpConnection openConnection(URL url) throws IOException {
HttpMethod method = new PostMethod(url.toString());
HttpConnection conn = null;
// Execute the method.
int statusCode = getHttpClient().executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
method.releaseConnection();
throw new IOException("Unable to connect to Service: " + url);
}
else {
HttpConnectionManager connManager =
client.getHttpConnectionManager();
conn = connManager.getConnection(client.getHostConfiguration());
}
return conn;
}
-------
The exception I'm getting:
Exception in thread "main" java.lang.IllegalArgumentException: host
parameter is null
at
org.apache.commons.httpclient.HttpConnection.setHost(HttpConnection.java:248)
at
org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnectionWithTimeout(SimpleHttpConnectionManager.java:163)
at
org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnection(SimpleHttpConnectionManager.java:191)
at
org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnection(SimpleHttpConnectionManager.java:108)
at
amazon.wma.storage.timber.TimberServiceImpl.openConnection(MyServiceImpl.java:180)
...
Thanks for any help!
Yansheng