History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: XFIRE-139
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Dan Diephouse
Reporter: Dan Diephouse
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
XFire

HttpTransport needs to use commons-httpclient

Created: 29/Sep/05 11:51 AM   Updated: 09/Oct/05 01:42 PM
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0-M6

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive http.zip (3 kb)
2. Java Source File HttpMessageSender.java (3 kb)
3. Java Source File HttpSoapChannel.java (3 kb)
4. Java Source File OutMessageRequestEntity.java (1 kb)



 Description  « Hide
HttpTransport needs to use commons-httpclient because Java HttpURLConnection is buggy.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ralf Schaeftlein - 29/Sep/05 03:29 PM
attached you will find project.xml with additional dependency to commons-codec (needed by commons-httpclient) and the adopted Xfire Http classes

Dan Diephouse - 29/Sep/05 03:35 PM
Sweet, that was fast!

One major thing: You're writing the response to a String before sending it out. Can't we get access to the output stream so we don't have to cache it in memory?

One minor thing: It would be kind of cool if we could use the old MessageSender if commons-httpclient on the classpath. It should be pretty easy to do:

try
{
MessageSender sender = null;
sender = ClassUtils.loadClass("org.codehaus.xfire.transport.http.CommonsHttpclientMessageSender").newInstance();
} catch (ClassNotFoundException) {
sender = new SimpleMessageSender();
}

What do you think?


Ralf Schaeftlein - 29/Sep/05 04:42 PM
  • now content is not buffered

Dan Diephouse - 02/Oct/05 10:54 AM
Ralf, looks real good. I will integrate it as soon as I have time! Thanks. You rock!

Dan Diephouse - 09/Oct/05 01:42 PM
Done. It will now use commons http if its on the classpath.