Forum: Ruby How to auth apache before soap request

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Alejandro M. (Guest)
on 2009-02-12 19:12
hi :
I am new to ruby.

I am doing some work wiht soap.
I create a webservice server with php and a client with ruby.
The problem is that wdsl file is place in a subfolder that the parent is
protected by apache authentication.

This is the client code:

require 'net/http'
require 'rubygems'
require 'soap/wsdlDriver'

#This is folder is authenticated by apache : http://localhost/homeinf

wsdl_url = "http://localhost/homeinf/wbs/teste.wsdl"; # note that is
under authenticated folder

user = "peter";
pass = "peter123";

soap =; #  this fail.
soap.options["protocol.http.basic_auth"] << [wsdl_url,user,pass];
driver = soap.create_rpc_driver;

This give this error :
`follow_redirect': unexpected response: #<HTTP::M
essage::Headers:0x309b070 @body_date=nil, @status_code=401,
@dumped=false, @request_method=nil, @body_charset=nil, @request_
via_proxy=nil, @chunked=false, @http_version="1.1",
@header_item=[["Date", "Thu, 12 Feb 2009 17:06:39 GMT"], ["Server", "Apa
che/2.2.11 (Win32) PHP/5.2.8"], ["WWW-Authenticate", "Basic
realm=\"teee\""], ["Content-Length", "401"], ["Content-Type", "t
ext/html; charset=iso-8859-1"]], @body_size=0, @body_type=nil,
@request_query=nil, @is_request=false, @reason_phrase="Author
ization Required", @request_uri=nil> (HTTPClient::BadResponseError)
        from D:/ruby/lib/ruby/1.8/wsdl/xmlSchema/importer.rb:64:in
        from D:/ruby/lib/ruby/1.8/wsdl/xmlSchema/importer.rb:30:in
        from D:/ruby/lib/ruby/1.8/wsdl/importer.rb:18:in `import'
        from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:124:in `import'
        from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:28:in `initialize'
        from D:/projetos-ruby/soap/soap_cliente1.rb:10:in `new'
        from D:/projetos-ruby/soap/soap_cliente1.rb:10

soap = can not read the wsdl file,
becouse apache block it due authtentication fail.

How to do the apache auth before i call soap?

Thanks in advance
This topic is locked and can not be replied to.