I am trying to use SOAP::WSDLDriverFactory but the server requires
basic authentication.

I've tried using something like:

WSDL_URI = 'http://user:password@server:80/TestService?wsdl';
factory = SOAP::WSDLDriverFactory.new(WSDL_URI)

But I keep getting parse errors:

/usr/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:112:in `decode_tag': Unknown
element {}html. (WSDL::XMLSchema::Parser::UnknownElementError)

Which I am rather sure is due to the need for basic authentication,
since other SOAP services that don't require authentication work just
fine.  I can also get the raw WSDL just fine using something like:

require 'net/http'
Net::HTTP.start('server') { |http|
        req = Net::HTTP::Get.new("/TestService?wsdl")
        req.basic_auth( 'user', 'password' )
        response = http.request(req)
        puts response.body
}

Any tips on how to use basic authentication with WSDLDriverFactory, or
how else can I work around this?

Thanks in advance!