After installing http-access2 a lot of calls through soap4r started getting broken pipes; usually a retry solved the problem (this was through a service running on webrick). Below is a patch to cure the symptom.
/usr/local/lib/ruby/site_ruby/1.8/http-access2/http.rb:185:in `write'
/usr/local/lib/ruby/site_ruby/1.8/http-access2/http.rb:185:in `dump'
/usr/local/lib/ruby/site_ruby/1.8/http-access2/http.rb:386:in `dump'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1212:in `query'
/usr/local/lib/ruby/1.8/timeout.rb:56:in `timeout'
/usr/local/lib/ruby/1.8/timeout.rb:76:in `timeout'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:1210:in `query'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:891:in `query'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:434:in `do_get_block'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:370:in `conn_request'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:285:in `request'
/usr/local/lib/ruby/site_ruby/1.8/http-access2.rb:264:in `post'
--- /usr/ports/www/ruby-http-access/work/http-access-2_0_6/lib/http-access2.rb Tue Sep 13 05:20:38 2005
+++ http-access2.rb Mon Aug 21 11:59:41 2006
@@ -368,7 +368,7 @@
begin
req = create_request(method, uri, query, body, extheader, !proxy.nil?)
do_get_block(req, proxy, conn, &block)
- rescue Session::KeepAliveDisconnected
+ rescue Session::KeepAliveDisconnected, Errno::EPIPE
req = create_request(method, uri, query, body, extheader, !proxy.nil?)
do_get_block(req, proxy, conn, &block)
end